Was ist ein Feature Gate und warum gibt es das?
Einige Kunden von Google Distributed Cloud (GDC) mit Air-Gapping müssen ein Akkreditierungsverfahren durchlaufen, um bestimmte Complianceanforderungen zu erfüllen. Diese Kunden haben möglicherweise bestimmte Funktionen, die von einem Drittanbieter akkreditiert werden müssen, bevor sie für Produktionsarbeitslasten aktiviert werden können.
Bestimmte Funktionen erfordern möglicherweise mehrere Releases, bis sie fertiggestellt sind, und sollten erst dann allen Kunden zur Verfügung gestellt werden, wenn sie stabil und einsatzbereit sind. Andere Kunden möchten möglicherweise mit Google zusammenarbeiten, um Proof-of-Concept-Tests mit der noch nicht veröffentlichten Funktion durchzuführen.
GDC führt mehrere Konzepte ein, um Funktionen zu verwalten, bevor sie bereit sind:
Schwellenwert für die Bereitstellungsfunktionsebene (Bereitstellungsschwellenwert): Definiert die Mindestebene, die für das Gerät verwendet werden muss. Dies wird beim Bootstrapping festgelegt.
FeatureGate
-Ressource: Definiert die Konfiguration der obersten Ebene, in der der Standardreifezustand pro Funktion erfasst wird. In der Ressource werden auch alle Feature-Überschreibungen erfasst, die der Operator hinzugefügt hat.Funktionsebene: Hier wird der Reifegrad einer bestimmten Funktion erfasst. Eine Funktion ist aktiviert, wenn sie größer oder gleich dem Bereitstellungsschwellenwert ist.
Mögliche Werte für die Funktionsstufe in aufsteigender Reihenfolge sind: DEV
, TEST
, PREVIEW
, PRODUCTION
und ACCREDITED
.
Wenn der Bereitstellungsschwellenwert beispielsweise auf PRODUCTION
festgelegt ist, werden Funktionen mit dem Funktionsniveau ACCREDITED
oder PRODUCTION
aktiviert. Wenn der Bereitstellungsschwellenwert auf ACCREDITED
festgelegt ist, werden nur Funktionen mit dem Niveau ACCREDITED
aktiviert.
Feature-Gates oder ‑Ebenen sind nicht dasselbe wie A/B-Tests, die Sie möglicherweise in Verbraucherprodukten sehen. Feature-Gates sind entweder für das gesamte GDC-Gerät aktiviert oder deaktiviert. Feature-Gates sind so konzipiert, dass sie nach Abschluss der Akkreditierungsüberprüfung aktiviert bleiben.
Für Deployments mit Akkreditierungsanforderungen muss eine eigene FeatureGate
-Konfiguration vorhanden sein, die mit der für diese oder frühere Versionen akkreditierten Konfiguration übereinstimmen muss.
Nutzung auf Funktionsebene
Es gibt drei benutzerdefinierte Ressourcendefinitionen, die sich auf die Konfiguration von Feature-Gates und ‑Ebenen beziehen:
Stage
: Definiert den Bereitstellungsschwellenwert für einen Cluster. Speichert den Mindestschwellenwert für die Bereitstellungsphase, der mit Feature Gates verglichen wird, um die Aktivierung von Funktionen zu bestimmen.FeatureGate
: Speichert die Standardphase der einzelnen Funktionen und verfolgt alle Überschreibungen.SubcomponentOverride
: Wird vom Feature-Gate-System verwendet, um die Standardphase eines Features zu überschreiben und es zu aktivieren. Kommt auch in anderen Kontexten vor.
Der Stufenwert ist der in jedem Cluster gespeicherte Mindestschwellenwert für die Bereitstellung. Diese Einstellung darf nur während des Bootstrapping festgelegt und danach nie geändert werden. Alle Funktionen mit einem Feature-Phasenwert, der gleich oder größer ist, werden aktiviert. Informationen zum Überschreiben der Standardphase eines Feature-Gates finden Sie unter OOPS-P0072.
Feature-Gates ähneln einem Upgrade. Es werden keine Bilder oder Versionen geändert. Dies ist jedoch der letzte Schritt eines Upgrades, um die Funktionen zu aktivieren, die in einem vorherigen Upgrade hinzugefügt wurden. Die Aktivierung dieser Funktion kann Wochen oder Monate nach dem ersten Upgrade erfolgen, je nachdem, wie lange die Akkreditierung dauert. Führen Sie weiterhin regelmäßig Upgrades durch, um Fehlerkorrekturen und Patches zu erhalten, während die Akkreditierung läuft.
Wenn Funktionen überschrieben werden, löst GDC einen Abgleich aus, um alle Pods neu zu starten, die von der Funktion abhängen. Dies muss während eines Wartungsfensters erfolgen, da für einige Änderungen Ausfallzeiten erforderlich sein können.
Für einige Funktionen gibt es ein zugehöriges Servicehandbuch-Runbook, in dem beschrieben wird, wann die Funktion aktiviert werden muss und worauf nach der Anwendung der Überschreibung zu achten ist. Das kann in Fällen erforderlich sein, in denen mehr als ein Pod-Neustart erforderlich ist oder die Aktion nach der Aktivierung anderer Funktionen ausgeführt werden muss.
Sie finden diese Feature-Runbooks im Servicemanual, das der entsprechenden bedienbaren Komponente beiliegt.
Die Liste der aktiven Feature-Gates finden Sie in der Dokumentation zu Funktionsphasen.