Was ist ein Feature Gate und warum gibt es das?
Einige Google Distributed Cloud (GDC) mit Air-Gapping-Kunden müssen ein Akkreditierungsverfahren durchlaufen, um bestimmte Compliance-Anforderungen 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:
Bereitstellungs-Feature-Ebenen-Schwellenwert (Bereitstellungsschwellenwert): Definiert die Mindestebene, die für das Universum verwendet werden soll. 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-Universum aktiviert oder deaktiviert. Feature-Gates sind so konzipiert, dass sie nach Abschluss der Akkreditierungsüberprüfung aktiviert bleiben. Dies ist keine Konfiguration zum Anpassen Ihrer GDC-Zone.
Für Bereitstellungen mit Akkreditierungsanforderungen muss für jede Organisation eine eigene FeatureGate-Konfiguration vorhanden sein, die mit der Akkreditierung für diese oder frühere Versionen ü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 in der Zone 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. Es gibt mehrere Möglichkeiten, wie der Betreiber Funktionen aktivieren oder deaktivieren kann. Nicht alle gelten für jedes Feature-Gate.
- Phase beim Bootstrapping festlegen: Weitere Informationen finden Sie im Schritt zum Festlegen des Schwellenwerts für die Funktionsphase für die gesamte Bereitstellung.
- Funktionsphase mit Infrastructure as Code (IaC) im Root-Administratorcluster ändern: Weitere Informationen zum Workflow und zur Verzeichnisstruktur finden Sie unter IAC-R0004. Sie ändern eine Datei im Verzeichnis einer betriebsbereiten Komponente. Wenn Sie beispielsweise das Feature
PGMigrationändern möchten, das ein Feature der bedienbaren Komponentedbsist, müssen Sie die Dateiinfrastructure/zonal/zones/ZONE_NAME/root-admin/components/dbs/dbs-common-override.yamlaktualisieren. - Funktionsphase mit IaC im Organisationscluster ändern: Je nach Organisationstyp ist der Cluster entweder der Infrastrukturcluster oder der Organisationsadministratorcluster. Weitere Informationen zum Workflow und zur Verzeichnisstruktur finden Sie unter IAC-R0004. Sie ändern eine Datei im Verzeichnis einer funktionsfähigen Komponente. Wenn Sie beispielsweise das Feature
PGMigrationändern möchten, das ein Feature der bedienbaren Komponentedbsist, müssen Sie die Dateiinfrastructure/zonal/zones/ZONE_NAME/ORG_NAME/components/dbs/dbs-sub-override.yamlaktualisieren. - GDC-Upgrade: Pro Release kann sich der Standardphasenwert für die einzelnen Funktionen basierend auf neuen Reifebewertungen ändern. Hinweis: Standardwerte haben keine Auswirkungen auf Überschreibungen, die bereits in der IaC für ein bestimmtes Feature festgelegt sind.
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, z. B. durch den IaC-Prozess, 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.