Le policy di estensione globali consentono di gestire le estensioni in più zone e regioni all'interno di un progetto. Quando applichi una policy globale, VM Extension Manager garantisce che le VM in qualsiasi regione o zona che corrispondono ai criteri della policy abbiano le estensioni specificate installate e in esecuzione.
Il seguente diagramma illustra come utilizzare una policy di estensione globale per applicare le estensioni alle VM in diverse zone e regioni del progetto:
Come mostrato nel diagramma precedente, puoi definire una policy di estensione globale a livello di progetto. VM Extension Manager applica questa policy a tutte le VM che corrispondono ai criteri di selezione. Ad esempio, se selezioni le VM con l'etichetta env=prod in tutte
le zone e le regioni del progetto, VM Extension Manager applica le estensioni specificate,
come Ops Agent ed Extension for SAP, solo a queste VM.
Piani di implementazione per le policy globali
Le policy globali utilizzano piani di implementazione per gestire il deployment delle estensioni in zone e regioni. Un piano di implementazione ti consente di controllare l'implementazione delle estensioni, il che contribuisce a ridurre al minimo il rischio di problemi diffusi. Utilizzando un piano di implementazione, puoi definire l'ordine e la tempistica degli aggiornamenti per garantire un'implementazione graduale e controllata.
Quando crei o aggiorni una policy globale, puoi specificare uno dei seguenti piani di implementazione:
- Implementazione lenta: questa implementazione distribuisce le estensioni gradualmente in diverse zone per un periodo di tempo; il periodo predefinito è di cinque giorni. Questo approccio è consigliato perché ti consente di identificare e risolvere potenziali problemi nelle implementazioni precedenti prima che abbiano un impatto sull'intera flotta.
- Implementazione rapida: questa implementazione distribuisce le estensioni a tutte le VM di destinazione in tutte le zone e le regioni immediatamente. Questo approccio è utile per le situazioni in cui devi eseguire rapidamente il deployment di un'estensione o di una patch in ambienti non di produzione.
Puoi anche definire piani di implementazione personalizzati per specificare le ondate di deployment
in base a zone o regioni e il tempo di attesa tra le ondate. Per saperne di più, consulta il metodo
rolloutPlans.insert.
Comportamento in caso di conflitto di implementazione
Quando crei o aggiorni una policy di estensione globale, potrebbe verificarsi un conflitto nelle seguenti situazioni:
- Quando crei una policy globale: se in una zona esiste già una policy di zona in conflitto con la policy globale.
- Quando aggiorni una policy globale: se una policy di zona esistente è stata modificata indipendentemente dall'implementazione della policy globale, ad esempio utilizzando una chiamata API di zona.
Per evitare questi conflitti, puoi specificare un comportamento di conflitto per l'implementazione, che determina se la policy globale deve sovrascrivere le policy di zona in conflitto durante un'implementazione. Puoi specificare uno dei seguenti comportamenti:
- Non sovrascrivere (impostazione predefinita): se non specifichi un comportamento in caso di conflitto, l'implementazione della policy globale non sovrascrive le policy zonali in conflitto. La configurazione della policy di zona ha la precedenza in quella zona.
- Sovrascrittura: se imposti il comportamento in caso di conflitto su
overwrite, la policy globale sovrascrive le policy di zona in conflitto e la configurazione della policy globale viene applicata in quella zona.
Per saperne di più, consulta il parametro conflictBehavior nel metodo globalVmExtensionPolicies.insert.
Riprovare un'implementazione
Quando aggiorni o elimini una policy di estensione globale, VM Extension Manager avvia una nuova implementazione per applicare le modifiche in base al piano di implementazione. Se un'implementazione viene interrotta o se vengono aggiunte nuove zone, puoi riprovare l'operazione avviando una nuova implementazione per le stesse norme.
Riprova l'implementazione di una policy di aggiornamento
Il seguente elenco descrive gli scenari in cui potrebbe essere necessario riprovare l'implementazione di una norma di aggiornamento:
- Aggiunta di nuove zone: se nuove zone Google Cloud diventano disponibili dopo l'implementazione di una policy globale, VM Extension Manager non applica automaticamente le policy esistenti alle VM nella nuova zona. Puoi riprovare l'implementazione dell'aggiornamento per applicare la policy di estensione alle VM nelle nuove zone.
- Ripristina le modifiche alle norme di zona: se le norme di zona sono state modificate
in modo indipendente, ad esempio utilizzando una chiamata API di zona per modificare una norma di zona, puoi riprovare a eseguire il rollout di un aggiornamento con
conflictBehaviorimpostato suoverwriteper riapplicare la configurazione delle norme globali e sovrascrivere le modifiche alle norme di zona. - Implementazione interrotta: se un'implementazione precedente non riesce prima del completamento, puoi avviare una nuova implementazione per riprovare l'aggiornamento.
- Accelerare un'implementazione: se un'implementazione in corso procede troppo lentamente, puoi avviarne una nuova utilizzando un piano
FAST_ROLLOUTo un piano di implementazione personalizzato per accelerare il processo di aggiornamento.
Per saperne di più, consulta il parametro retryUuid nel
metodo globalVmExtensionPolicies.update.
Quando riprovi a eseguire un rollout, devi fornire un identificatore univoco universale (UUID) per identificare la richiesta di ripetizione.
Puoi utilizzare qualsiasi generatore di UUID per crearne uno. L'UUID deve utilizzare il formato esadecimale a 32 caratteri, ad esempio a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8.
Riprovare l'implementazione di un criterio di eliminazione
Il seguente elenco descrive gli scenari in cui potrebbe essere necessario riprovare a eseguire un rollout per eliminare una policy:
- Implementazione interrotta: se un'implementazione precedente per eliminare una policy è stata interrotta o non è stata completata correttamente, puoi avviare una nuova implementazione per riprovare l'operazione di eliminazione.
- Accelerare un'implementazione: se un'implementazione di eliminazione in corso procede troppo
lentamente, puoi avviarne una nuova utilizzando un piano
FAST_ROLLOUTo un piano di implementazione personalizzato per accelerare il processo di eliminazione.
Per saperne di più, consulta il parametro retryUuid nel
metodo globalVmExtensionPolicies.delete.
Passaggi successivi
Per saperne di più sulla gestione delle estensioni, consulta le seguenti risorse:
- Installa le estensioni VM creando policy di estensione
- Gestire le estensioni VM utilizzando le policy di estensione