Funktionsschalter
Diese Seite gibt einen Überblick über die verschiedenen Funktionsschalter, die Administratoren für etcd festlegen können.
Die Entwicklungsphasen einer Funktion werden unter Funktionsphasen erläutert.
Überblick
Funktionsschalter sind eine Menge von key=value-Paaren, die etcd-Funktionen beschreiben.
Mit der Befehlszeilenoption --feature-gates lassen sich diese Funktionen in etcd ein- oder ausschalten.
etcd ermöglicht das Aktivieren oder Deaktivieren einer Gruppe von Funktionsschaltern.
Mit der Option -h lässt sich die vollständige Liste der Funktionsschalter anzeigen.
Zum Festlegen der Funktionsschalter der Option --feature-gates auf der Befehlszeile eine Liste von Funktionspaaren zuweisen:
Alternativ feature-gates in der YAML-Konfigurationsdatei angeben:
Änderung an der Struktur embed.Config
In 3.6 wird das Feld ServerFeatureGate zu embed.Config hinzugefügt. Es sollte die unten aufgeführten experimentellen Felder ersetzen:
Funktionsschalter für Alpha- oder Beta-Funktionen
Die folgenden Tabellen fassen die Funktionsschalter zusammen, die für etcd gesetzt werden können.
| Funktion | Standardwert | Phase | Einzelheiten |
|---|---|---|---|
| CompactHashCheck | false | Alpha | Ermöglicht dem Leader, die Kompaktierungs-Hashes der Follower regelmäßig zu prüfen. |
| InitialCorruptCheck | false | Alpha | Ermöglicht die Prüfung auf Datenkorruption, bevor Client- oder Peer-Verkehr bedient wird. |
| LeaseCheckpoint | false | Alpha | Ermöglicht dem Leader, regelmäßig Checkpoints an andere Mitglieder zu senden, damit die verbleibende TTL bei einem Leader-Wechsel nicht zurückgesetzt wird. |
| LeaseCheckpointPersist | false | Alpha | Ermöglicht das dauerhafte Speichern von remainingTTL, um eine unbegrenzte automatische Verlängerung langlebiger Leases zu verhindern. |
| SetMemberLocalAddr | false | Alpha | Ermöglicht es, die erste in initial-advertise-peer-urls angegebene lokale Adresse, die keine Loopback-Adresse ist, bei der Kommunikation mit einem Peer als lokale Adresse zu verwenden. |
| StopGRPCServiceOnDefrag | false | Alpha | Ermöglicht es dem gRPC-Dienst von etcd, während der Defragmentierung keine Clientanfragen mehr zu bedienen. |
| TxnModeWriteWithSharedBuffer | true | Beta | Ermöglicht einer Schreibtransaktion, für ihre schreibgeschützten Prüfoperationen einen gemeinsamen Puffer zu verwenden. |
Eine Funktion verwenden
Funktionsphasen
Eine Funktion kann sich in der Phase Alpha, Beta, GA oder Veraltet befinden. Eine Alpha-Funktion bedeutet:
- Standardmäßig deaktiviert.
- Möglicherweise fehlerhaft. Durch das Aktivieren der Funktion können Fehler auftreten.
- Die Unterstützung der Funktion kann jederzeit ohne Ankündigung eingestellt werden.
- Die API kann sich in einer späteren Softwareversion ohne Ankündigung inkompatibel ändern.
- Aufgrund des erhöhten Fehlerrisikos und der fehlenden langfristigen Unterstützung nur für kurzlebige Testcluster empfohlen.
Eine Beta-Funktion bedeutet:
- Standardmäßig aktiviert.
- Die Funktion ist gründlich getestet. Ihre Aktivierung gilt als sicher.
- Die Unterstützung der Funktion insgesamt wird nicht eingestellt, Einzelheiten können sich jedoch ändern.
- Nur für nicht geschäftskritische Einsatzzwecke empfohlen, da bei breiterer Nutzung neue, schwer erkennbare Fehler entdeckt werden können.
Bitte Beta-Funktionen ausprobieren und Rückmeldungen dazu geben! Nach dem Ende der Beta-Phase lassen sich weitere Änderungen möglicherweise nicht mehr sinnvoll umsetzen.
Eine Funktion mit allgemeiner Verfügbarkeit (GA) wird auch als stabile Funktion bezeichnet. Das bedeutet:
- Die Funktion ist immer aktiviert und lässt sich nicht deaktivieren.
- Der zugehörige Funktionsschalter wird nicht mehr benötigt.
- Stabile Versionen von Funktionen werden in vielen nachfolgenden Softwareversionen enthalten sein.
Eine veraltete Funktion bedeutet:
- Der Funktionsschalter wird nicht mehr verwendet.
- Die Funktion hat den Status GA erreicht oder wurde entfernt.