Questo documento fornisce una panoramica delle policy globali in gestore di estensioni VM. Puoi utilizzare le policy di estensione globali per gestire le estensioni in più zone e regioni all'interno di un progetto. Quando applichi una policy globale, il gestore di estensioni VM garantisce che le VM in qualsiasi regione o zona che corrispondono ai criteri della policy abbiano le estensioni specificate installate e in esecuzione.
Per saperne di più, consulta Informazioni sul gestore di estensioni VM.
Il seguente diagramma illustra come puoi utilizzare una policy di estensione globale per applicare le estensioni alle VM in diverse zone e regioni del tuo progetto:
Come mostrato nel diagramma precedente, puoi definire una policy di estensione globale a livello di progetto. Il gestore di estensioni VM applica questa policy a tutte le VM che corrispondono ai criteri di selezione. Ad esempio, puoi selezionare le VM con l'etichetta env=prod in tutte le zone e le regioni del progetto. In questo caso, il gestore di estensioni VM applica le estensioni specificate, come Ops Agent e l'estensione per SAP, solo a queste VM.
Piani di implementazione per le policy globali
Le policy globali utilizzano i piani di implementazione per gestire il deployment delle estensioni in zone e regioni. Un piano di implementazione ti consente di controllare il deployment 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 esegue il deployment delle estensioni gradualmente in diverse zone per un periodo di tempo. Il periodo predefinito per questa implementazione è di cinque giorni. Questo approccio è consigliato perché ti consente di identificare e risolvere potenziali problemi nelle implementazioni precedenti prima che influiscano sull'intero parco risorse.
- Lancio rapido. Questa implementazione esegue immediatamente il deployment delle estensioni in tutte le VM di destinazione in tutte le zone e le regioni. Questo approccio è utile nelle 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 rolloutPlans.insert
metodo.
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. Si verifica un conflitto nel nome della policy se in una zona esiste già una policy zonale con lo stesso nome della policy globale.
- Quando aggiorni una policy globale. Si verifica un conflitto nel contenuto della policy se una policy zonale esistente è stata modificata indipendentemente dall'implementazione della policy globale. Ad esempio, se modifichi una policy zonale utilizzando una chiamata API zonale e una successiva implementazione della policy globale tenta di modificare la stessa policy zonale, si verifica un conflitto.
Per evitare questi conflitti, puoi specificare un comportamento in caso di conflitto per l'implementazione. Questa impostazione determina se la policy globale deve sovrascrivere le policy zonali 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 zonale ha la precedenza in quella zona.
- Sovrascrivi. Se imposti il comportamento in caso di conflitto su
overwrite, la policy globale sovrascrive le policy zonali in conflitto e la configurazione della policy globale viene applicata in quella zona.
I conflitti di implementazione e la priorità delle policy sono funzionalità distinte che funzionano in modo indipendente. Per saperne di più sulla priorità delle policy, consulta Priorità delle policy e risoluzione dei conflitti.
Per saperne di più sui conflitti di implementazione, consulta il conflictBehavior parametro nel globalVmExtensionPolicies.insert
metodo.
Riprovare un'implementazione
Quando aggiorni o elimini una policy di estensione globale, il gestore di estensioni VM 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 la stessa policy.
Riprovare l'implementazione di una policy di aggiornamento
Il seguente elenco descrive gli scenari in cui potrebbe essere necessario riprovare l'implementazione di una policy di aggiornamento:
- Nuove zone aggiunte. Se dopo l'implementazione di una policy globale diventano disponibili nuove Google Cloud zone, il gestore di estensioni VM 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.
- Ripristinare le modifiche alle policy zonali. Se le policy zonali sono state modificate in modo indipendente, ad esempio utilizzando una chiamata API zonale per modificare una policy zonale, puoi riprovare un'implementazione dell'aggiornamento con
conflictBehaviorimpostato suoverwrite. Questa impostazione riapplica la configurazione della policy globale e sovrascrive le modifiche alla policy zonale. - 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 avviare una nuova implementazione utilizzando un piano
FAST_ROLLOUTo un piano di implementazione personalizzato per accelerare il processo di aggiornamento.
Per saperne di più, consulta il retryUuid parametro nel
globalVmExtensionPolicies.update metodo.
Quando riprovi un'implementazione, 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 una policy di eliminazione
Il seguente elenco descrive gli scenari in cui potrebbe essere necessario riprovare un'implementazione 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 avviare una nuova implementazione 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
globalVmExtensionPolicies.delete metodo.
Passaggi successivi
Per saperne di più sulla gestione delle estensioni, consulta le seguenti risorse:
- Installare le estensioni VM creando policy di estensione
- Gestire le estensioni VM utilizzando le policy di estensione