Zum Inhalt springen

Installation

Anleitung zur Installation von etcd aus vorkompilierten Binärdateien oder aus dem Quellcode.

Voraussetzungen

Vor der Installation von etcd die folgenden Seiten lesen:

Vorkompilierte Binärdateien installieren

Am einfachsten lässt sich etcd aus vorkompilierten Binärdateien installieren:

  1. Unter Veröffentlichungen die komprimierte Archivdatei für die gewünschte Plattform herunterladen. Dabei Version v3.7.2 oder neuer wählen.

  2. Die Archivdatei entpacken. Dadurch entsteht ein Verzeichnis mit den Binärdateien.

  3. Die ausführbaren Binärdateien zum Suchpfad hinzufügen. Dazu die Binärdateien beispielsweise umbenennen und/oder in ein Verzeichnis im Suchpfad verschieben (etwa /usr/local/bin) oder das im vorigen Schritt erstellte Verzeichnis zum Suchpfad hinzufügen.

  4. In einer Shell prüfen, ob etcd im Suchpfad liegt:

    $ etcd --version
    etcd Version: 3.7.2
    ...

Aus dem Quellcode bauen

Für etcd v3.7.2 Go ab Version 1.26 verwenden; das Release legt die Go-Toolchain auf Version 1.26.8 fest. Mit den folgenden Schritten lässt sich etcd aus dem Quellcode bauen:

  1. Das etcd-Repository als ZIP-Datei herunterladen und entpacken oder das Repository mit folgendem Befehl klonen.

    $ git clone -b v3.7.2 https://github.com/etcd-io/etcd.git

    Zum Bauen aus main@HEAD die Option -b v3.7.2 weglassen.

  2. Das Verzeichnis wechseln:

    $ cd etcd
  3. Das Build-Skript ausführen:

    $ ./scripts/build.sh

    Die Binärdateien befinden sich im Verzeichnis bin.

  4. Den vollständigen Pfad zum Verzeichnis bin zum Suchpfad hinzufügen, zum Beispiel:

    $ export PATH="$PATH:`pwd`/bin"
  5. Prüfen, ob etcd im Suchpfad liegt:

    $ etcd --version

Installation über Betriebssystempakete

Hinweis: Bei der Installation von etcd über Paketmanager des Betriebssystems können veraltete Versionen installiert werden. Diese Pakete werden vom etcd-Projekt weder automatisch gepflegt noch offiziell unterstützt. Betriebssystempakete daher mit Vorsicht verwenden.

Für die verschiedenen Betriebssysteme gibt es unterschiedliche Möglichkeiten, etcd zu installieren. Im Folgenden werden einige Beispiele gezeigt.

MacOS (Homebrew)

  1. Homebrew aktualisieren:
$ brew update
  1. etcd installieren:
$ brew install etcd
  1. Installation überprüfen
$ etcd --version

Linux

etcd lässt sich zwar über die offiziellen Repositories und Paketmanager vieler großer Linux-Distributionen installieren, die angebotenen Versionen können jedoch erheblich veraltet sein. Von dieser Installationsweise wird daher dringend abgeraten.

Für Linux wird die Installation aus vorkompilierten Binärdateien oder mit Homebrew empfohlen.

Homebrew unter Linux

Homebrew läuft auch unter Linux und kann aktuelle Softwareversionen bereitstellen.

  • Voraussetzungen

    • Homebrew aktualisieren:

      $ brew update
  • Vorgehensweise

    • Mit brew installieren:

      $ brew install etcd
  • Ergebnis

    • Die Installation durch Abrufen der Version überprüfen:

      $ etcd --version
      etcd Version: 3.7.2
      ...

      Die Ausgabe oben ist ein Beispiel. Homebrew kann eine andere Patchversion bereitstellen; die tatsächlich installierte Version mit etcd --version prüfen.

Docker

etcd verwendet gcr.io/etcd-development/etcd als primäre Container-Registry und quay.io/coreos/etcd als sekundäre.

etcd mit Docker ausführen:

ETCD_VER=v3.7.2

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-${ETCD_VER} \
  gcr.io/etcd-development/etcd:${ETCD_VER} \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new \
  --log-level info \
  --logger zap \
  --log-outputs stderr

docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo

Installation im Rahmen einer Kubernetes-Installation

Installation überprüfen

Eine etwas ausführlichere Funktionsprüfung der Installation bietet der Schnellstart .