Dies ist die mehrseitige Druckansicht dieses Abschnitts. .
Aufgaben für Entwickler
- 1: Aus etcd lesen
- 2: In etcd schreiben
- 3: Schlüssel anhand eines Präfixes abrufen
- 4: Schlüssel löschen
- 5: Mehrere Schreibvorgänge in einer Transaktion ausführen
- 6: Schlüssel überwachen
- 7: Eine Lease erstellen
- 8: Sperren erstellen
1 - Aus etcd lesen
Voraussetzungen
etcdctlinstallieren
Vorgehensweise
Mit dem Unterbefehl get aus etcd lesen:
Dabei gilt:
fooist der angeforderte SchlüsselHello World!ist der abgerufene Wert
Für eine formatierte Ausgabe:
Dabei gibt write-out="json" JSON aus, in dem sowohl der Schlüssel als auch der Wert base64-kodiert sind.
2 - In etcd schreiben
Voraussetzungen
etcdctlinstallieren
Vorgehensweise
Mit dem Unterbefehl put ein Schlüssel-Wert-Paar schreiben:
Dabei gilt:
fooist der Schlüsselname"Hello World!"ist der in Anführungszeichen eingeschlossene Wert
3 - Schlüssel anhand eines Präfixes abrufen
Voraussetzungen
Schlüssel anhand eines Präfixes abrufen
Globale Optionen
Optionen
Beispiel

4 - Schlüssel löschen
Voraussetzungen
etcdundetcdctlinstallieren
Schlüssel hinzufügen oder löschen
del zum Entfernen des angegebenen Schlüssels oder Schlüsselbereichs:
Optionen
Von übergeordneten Befehlen geerbte Optionen
Beispiele

5 - Mehrere Schreibvorgänge in einer Transaktion ausführen
Voraussetzungen
etcdundetcdctlinstallieren.- Ein laufender
etcd-Cluster.
Begriffe
Im Folgenden werden wichtige Begriffe aus dem unten stehenden Beispiel definiert.
| Begriffe | Definition |
|---|---|
| etcdctl | Das Befehlszeilenwerkzeug zur Interaktion mit dem etcd-Server. |
Befehl txn
|
Der Befehl txn ist eine Abkürzung für „transaction“ (Transaktion). Er liest mehrere etcd-Anfragen von der Standardeingabe und wendet sie als eine einzige atomare Transaktion an. Eine Transaktion besteht aus einer Liste von Bedingungen, einer Liste von Anfragen für den Fall, dass alle Bedingungen erfüllt sind, und einer Liste von Anfragen für den Fall, dass mindestens eine Bedingung nicht erfüllt ist. Weitere Informationen unter etcdctl-Befehle für Schlüssel-Wert-Paare
. |
compare |
Die Klausel compare innerhalb einer Transaktion (txn) prüft eine Bedingung und entscheidet dadurch, ob die Operationen der Transaktion ausgeführt werden sollen. Änderungen werden nur angewendet, wenn der aktuelle Zustand des Schlüssel-Wert-Speichers den erwarteten Bedingungen entspricht. Dies erhält die Datenkonsistenz und verhindert Konflikte bei nebenläufigen Zugriffen. Der Aufbau des Befehls wird im folgenden Abschnitt Eine Transaktion ausführen
gezeigt. |
Transaktionen
txn zum Verarbeiten aller Anfragen in einer Transaktion:
Mit Transaktionen in etcd lassen sich mehrere Operationen atomar ausführen: Entweder werden alle Operationen angewendet oder keine. Das ist entscheidend, um bei zusammengehörigen Aktualisierungen die Datenkonsistenz zu wahren. Weitere Informationen zu Transaktionen enthält die API-Dokumentation .
Beispiel
Angenommen, die E-Mail-Adresse und Telefonnummer eines Benutzers sollen in einer einzigen Transaktion aktualisiert werden. So werden beide Änderungen gemeinsam angewendet.

0. Verwendete Variablen und Optionen
| Variablen |
|---|
/users/{<user_id>/email : etcd-Schlüssel für die E-Mail-Adresse eines Benutzers. |
/users/<user_id>/phone : etcd-Schlüssel für die Telefonnummer eines Benutzers. |
| Optionen |
--interactive
: Option zur manuellen Eingabe von Transaktionsdaten |
1. Anfangsdaten einrichten
Zunächst einen Benutzer mit einigen Anfangsdaten erstellen.
2. Eine Transaktion ausführen
Die E-Mail-Adresse und Telefonnummer des Benutzers in einer einzigen Transaktion aktualisieren.
- Vergleich: Prüfen, ob die aktuelle E-Mail-Adresse “old.address@johndoe.com ” lautet. So wird die Transaktion nur fortgesetzt, wenn die Daten dem erwarteten Zustand entsprechen.
- Erfolg: Bei erfolgreichem Vergleich sowohl die E-Mail-Adresse als auch die Telefonnummer aktualisieren.
- Fehlschlag: Schlägt der Vergleich fehl, die aktuelle E-Mail-Adresse abrufen, um zu verstehen, warum die Transaktion nicht fortgesetzt wurde.
Wichtige Hinweise
- Atomarität: Die Transaktion stellt sicher, dass E-Mail-Adresse und Telefonnummer gemeinsam aktualisiert werden. Ist die Anfangsbedingung (der Vergleich) nicht erfüllt, wird keine der beiden Änderungen angewendet.
- Konsistenz: Transaktionen erhalten die Datenkonsistenz, insbesondere bei mehreren zusammengehörigen Aktualisierungen.
- Mehrere put-Operationen für denselben Schlüssel vermeiden: Innerhalb einer einzigen Transaktion nicht mehrere Werte für denselben Schlüssel schreiben, da dies zu unerwarteten Ergebnissen führen kann. Jeder Schlüssel sollte pro Transaktion nur einmal aktualisiert werden.
6 - Schlüssel überwachen
Voraussetzungen
etcdundetcdctlinstallieren
Schlüssel überwachen
watch für Benachrichtigungen über künftige Änderungen:
Optionen
Von übergeordneten Befehlen geerbte Optionen
Beispiele

7 - Eine Lease erstellen
lease zum Schreiben mit TTL:

8 - Sperren erstellen
LOCK erwirbt einen verteilten Mutex mit einem bestimmten Namen. Sobald die Sperre erworben wurde, bleibt sie bis zum Beenden von etcdctl bestehen.
Voraussetzungen
etcdundetcdctlinstallieren
Eine Sperre erstellen
lock für eine verteilte Sperre:

Optionen
- endpoints – definiert eine durch Kommas getrennte Liste der Rechneradressen im Cluster.
- ttl – Zeitüberschreitung der Sperrsitzung in Sekunden.