Che cos'è un gate di funzionalità e perché lo utilizziamo?
Alcuni clienti di appliance Google Distributed Cloud (GDC) con air gap devono completare una procedura di accreditamento per soddisfare una serie di requisiti di conformità. Questi clienti potrebbero avere funzionalità specifiche che devono essere sottoposte a revisione di accreditamento da parte di una terza parte prima di poter essere attivate per i carichi di lavoro di produzione.
Per essere finalizzate, alcune funzionalità potrebbero richiedere più versioni e non devono essere esposte a tutti i clienti finché non sono stabili e pronte. Tuttavia, altri clienti potrebbero voler collaborare con Google per eseguire test proof of concept con la funzionalità non rilasciata.
GDC introduce diversi concetti per contenere le funzionalità prima che siano pronte:
Soglia del livello della funzionalità di deployment (soglia di deployment): definisce il livello minimo da utilizzare per il dispositivo. Questa impostazione viene configurata al momento dell'avvio.
Risorsa
FeatureGate
: definisce la configurazione di primo livello che monitora il livello di maturità predefinito per funzionalità. La risorsa tiene traccia anche di eventuali override delle funzionalità aggiunti dall'operatore.Livello di funzionalità: monitora il livello di maturità a cui è impostata una determinata funzionalità. Una funzionalità viene attivata quando è maggiore o uguale alla soglia di implementazione.
I valori possibili del livello di funzionalità in ordine crescente sono: DEV
, TEST
, PREVIEW
,
PRODUCTION
e ACCREDITED
.
Ad esempio, se la soglia di implementazione è impostata su PRODUCTION
, le funzionalità impostate
con il livello di funzionalità ACCREDITED
o PRODUCTION
sono attive. Se la soglia di implementazione è impostata su ACCREDITED
, vengono attivate solo le funzionalità di livello ACCREDITED
.
Le funzionalità o i livelli non sono gli stessi dei test A/B che potresti vedere nei prodotti di consumo. I feature gate sono attivi o disattivi per l'intero dispositivo GDC. I feature gate sono progettati per essere attivati al termine della revisione dell'accreditamento e rimanere attivi.
I deployment con requisiti di accreditamento devono avere una propria configurazione FeatureGate
che deve corrispondere a quella accreditata per la versione in questione o per le versioni precedenti.
Utilizzo a livello di funzionalità
Esistono tre definizioni di risorse personalizzate correlate alla configurazione di feature gate e livelli:
Stage
: definisce la soglia di deployment per un cluster. Memorizza la soglia minima di fase del deployment, che viene confrontata con i gate di funzionalità per determinare l'attivazione delle funzionalità.FeatureGate
: memorizza la fase predefinita di ogni funzionalità e tiene traccia di eventuali override.SubcomponentOverride
: utilizzato dal sistema di controllo delle funzionalità per ignorare la fase predefinita di una funzionalità e abilitarla. Appare altrove in altri contesti.
Il valore di fase è la soglia minima di deployment archiviata in ogni cluster. Questo deve essere impostato solo durante il bootstrapping e mai modificato dopo. Tutte le funzionalità con un valore di fase della funzionalità uguale o superiore sono attive. Per ignorare la fase predefinita di un feature gate, consulta OOPS-P0072.
I gate di funzionalità sono simili a un upgrade. Nessuna modifica a immagini o versioni, ma è effettivamente il passaggio finale di un upgrade per attivare le funzionalità aggiunte in un upgrade precedente. L'attivazione di questa funzionalità potrebbe avvenire settimane o mesi dopo l'upgrade iniziale, a seconda dei tempi di accreditamento. Continua a eseguire regolarmente gli upgrade per scaricare correzioni e patch durante l'accreditamento.
Quando le funzionalità vengono sostituite, GDC attiva un riconciliatore per riavviare tutti i pod che dipendono dalla funzionalità. Questa operazione deve essere eseguita durante un periodo di manutenzione, poiché alcune modifiche potrebbero richiedere tempi di inattività.
Alcune funzionalità hanno un runbook del manuale di servizio di accompagnamento che descrive quando deve essere abilitata e cosa cercare dopo l'applicazione dell'override. Questo potrebbe essere per i casi che richiedono più di un riavvio del pod o che devono essere eseguiti dopo l'attivazione di altre funzionalità.
Puoi trovare questi runbook delle funzionalità nel manuale di assistenza allegato al componente azionabile pertinente.
L'elenco dei feature gate attivi è disponibile nella documentazione Fasi delle funzionalità.