Questa pagina spiega come configurare le istanze di macchine virtuali (VM) in un gruppo di istanze gestite e i metodi che puoi utilizzare per applicare la configurazione alle VM esistenti nel gruppo.
Devi specificare la configurazione prevista per le VM in un gruppo di istanze gestite utilizzando i seguenti componenti di configurazione delle VM:
- Obbligatorio: modello di istanza
- (Facoltativo) Configurazione di tutte le istanze
- (Facoltativo) Configurazione stateful
Ogni volta che aggiorni la configurazione prevista utilizzando questi componenti, Compute Engine applica automaticamente la configurazione aggiornata alle nuove VM aggiunte al gruppo.
Per applicare una configurazione aggiornata alle VM esistenti, utilizza i metodi descritti in questa pagina:
- Implementazioni automatiche con un budget per l'interruzione e aggiornamenti canary facoltativi dei nuovi modelli
- Aggiornamenti manuali selettivi solo a VM specifiche, per ridurre al minimo le interruzioni
- Ricreazione di VM specifiche
Puoi anche configurare il gruppo di istanze gestite in modo da applicare l'ultima configurazione disponibile alle VM durante le riparazioni. Per maggiori informazioni, consulta Applicare gli aggiornamenti della configurazione durante le riparazioni.
Se hai solo bisogno di ridimensionare un gruppo di istanze gestite, consulta la documentazione su come aggiungere o rimuovere VM in un gruppo di istanze gestite. Per scoprire di più sulla configurazione delle funzionalità dei gruppi di istanze gestite, consulta la documentazione relativa a scalabilità automatica, autohealing, bilanciamento del carico e carichi di lavoro stateful.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Automatico (proattivo): utilizza questo metodo se vuoi che il gruppo di istanze gestite applichi automaticamente le nuove configurazioni a tutte o a un sottoinsieme di VM esistenti nel gruppo. Il livello di interruzione delle VM in esecuzione dipende dal criterio di aggiornamento che configuri. Puoi usare questo metodo per aggiornare i nuovi modelli di istanza canary. Per utilizzare questo metodo, imposta il tipo di aggiornamento del gruppo di istanze gestite su "proattivo".
- Selettivo (opportunistico): utilizza questo metodo se vuoi applicare l'aggiornamento manualmente o se vuoi aggiornare contemporaneamente tutte le VM esistenti nel gruppo. Scegli come target una o tutte le VM da aggiornare all'ultima configurazione. Per utilizzare questo metodo, imposta il tipo di aggiornamento del gruppo di istanze gestite su "opportunistico".
- Ricreazione di VM: applica nuove configurazioni ricreando VM specifiche.
- L'implementazione di un aggiornamento avviene automaticamente in base alle specifiche, senza bisogno di input aggiuntivi dopo la richiesta iniziale. Puoi specificare la velocità di deployment, il livello di interruzione del servizio e l'ambito dell'aggiornamento.
- Puoi automatizzare le implementazioni parziali, in modo da poter eseguire test canary.
- Puoi selezionare le VM che vuoi aggiornare.
- Puoi controllare i tempi e la sequenza degli aggiornamenti.
- Puoi utilizzare gcloud CLI o REST per aggiornare immediatamente tutte le istanze.
Una delle VM nel tuo gruppo di istanze gestite non funziona e deve essere riparata, ma non vuoi modificare la configurazione. Se imposti il tipo di aggiornamento del gruppo di istanze gestite su opportunistico e non applichi forzatamente gli aggiornamenti durante le riparazioni, Compute Engine ripara la VM utilizzando la stessa configurazione utilizzata per crearla, anche se il modello di istanza originale non esiste più.
Disponi di un gruppo di istanze gestite con scalabilità automatica e vuoi applicare un aggiornamento non critico senza alcuna urgenza. Per assicurarti che Compute Engine non elimini le VM esistenti per applicare l'aggiornamento, imposta il tipo di aggiornamento del gruppo di istanze gestite su opportunistico. Con lo scale in, il gestore della scalabilità automatica termina preferenzialmente le VM con la configurazione precedente. Quando il gruppo fa lo scale out, crea VM con la configurazione più recente.
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Seleziona il gruppo di istanze gestite che vuoi aggiornare.
Nella parte superiore della pagina, fai clic su Aggiorna VM.
Per impostare un modello diverso per il gruppo, in Nuovo modello, seleziona il modello di istanza che vuoi utilizzare.
In Aggiorna configurazione, scegli l'aggiornamento automatico o selettivo.
INSTANCE_GROUP_NAME
: il nome del gruppoNEW_TEMPLATE
: il nome del nuovo modello per il gruppoTYPE
: il tipo di aggiornamento,opportunistic
oproactive
PROJECT_ID
: il progetto in cui esiste il gruppo di istanze gestite.REGION
: la regione in cui si trova il gruppo di istanze gestite. Per un gruppo di istanze gestite a livello di zona, sostituisciregions/REGION
conzones/ZONE
.INSTANCE_GROUP_NAME
: il nome del gruppo.NEW_TEMPLATE
: il nome del nuovo modello per il gruppo.TYPE
: il tipo di aggiornamento,OPPORTUNISTIC
oPROACTIVE
.- Applicare automaticamente gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite
- Applica selettivamente gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite
- VM in esecuzione, sospese e arrestate
- VM con stato
SUSPENDING
oSTOPPING
- Elimina le VM sospese e arrestate.
- Crea nuove VM con il nuovo modello di istanza.
- Esegue il processo di inizializzazione.
- Sospende o arresta le VM.
- Riprende o avvia le VM.
- Esegue l'aggiornamento sulle VM in esecuzione.
- Esegue il processo di inizializzazione.
- Sospende o arresta le VM.
- Nella modalità del criterio di standby
manual
, il gruppo di istanze gestite aggiorna solo le VM in esecuzione in base al numero o alla percentuale di VM a cui vuoi applicare l'aggiornamento. Le VM sospese e arrestate rimangono nelle versioni precedenti. - In modalità del criterio di standby
scale-out-pool
, non puoi avviare un aggiornamento canary nel gruppo di istanze gestite. Imposta entrambi i campi sullo stesso valore.
Questa è una richiesta valida. In questo caso, non crea ambiguità e il nuovo modello di istanza viene applicato al gruppo di istanze gestite.
Ad esempio, nella richiesta seguente, il campo
instanceTemplate
di primo livello e il campoversions
specificano lo stesso modello di istanza, che è diverso dal modello attuale esistente, quindi il gruppo di istanze gestite viene aggiornato al nuovo modello di istanza:{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Hai impostato entrambi i campi su valori che non corrispondono, ma solo un valore è diverso dal modello di istanza corrente nel gruppo di istanze gestite.
Questa è una richiesta valida. Il campo diverso dall'impostazione attuale viene considerato il valore previsto. Ad esempio, chiami il metodo
update()
e fornisci entrambi i campi, ma viene aggiornato un solo campo:{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Hai impostato entrambi i campi su valori che non corrispondono ed entrambi i valori sono diversi dal modello di istanza corrente nel gruppo di istanze gestite.
Questa impostazione non è valida e restituisce un errore perché non c'è un intento chiaro.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
- Scopri di più sull'implementazione automatica di un nuovo modello di istanza in un gruppo di istanze gestite.
- Scopri di più sull'aggiornamento selettivo delle VM in un gruppo di istanze gestite.
- Visualizza le informazioni sul gruppo di istanze gestite e sulle relative VM.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Componenti di configurazione per le VM in un gruppo di istanze gestite
Puoi configurare le VM in un gruppo di istanze gestite mediante i seguenti componenti:
Componente Proprietà Caso d'uso Modello di istanza Tipo di macchina, immagine disco di avvio, etichette, script di avvio e altre proprietà della VM Obbligatorio: utilizza un modello di istanza per definire le proprietà dell'istanza obbligatorie e facoltative per tutte le VM del gruppo.
(Facoltativo) Se vuoi eseguire un test canary di una seconda configurazione VM, puoi aggiungere un secondo modello di istanza al gruppo e applicarlo a un sottoinsieme delle VM nel gruppo.Configurazione di tutte le istanze Etichette e metadati (Facoltativo) Utilizza una configurazione per tutte le istanze per sostituire rapidamente le proprietà del modello di istanza per tutte le VM nel gruppo. Configurazione stateful Dischi stateful, indirizzi IP e metadati (Facoltativo) Se devi supportare un carico di lavoro stateful, aggiungi la configurazione stateful alle VM del gruppo. Se aggiorni una configurazione per il gruppo tramite questi componenti, devi applicare la configurazione aggiornata alle VM esistenti nel gruppo per rendere efficace la configurazione aggiornata.
Metodi per applicare una nuova configurazione alle VM esistenti
Dopo aver aggiornato la configurazione della VM di un gruppo di istanze gestite, puoi applicare la nuova configurazione alle VM esistenti nel gruppo utilizzando i seguenti metodi:
Per maggiori informazioni sull'impostazione di un tipo di aggiornamento di un gruppo di istanze gestite, consulta Configurare un aggiornamento proattivo o opportunistico.
Automatico (proattivo)
Il tipo di aggiornamento automatico è noto anche come tipo di aggiornamento proattivo. Quando imposti il tipo di aggiornamento del gruppo di istanze gestite su proattivo, il gruppo di istanze gestite applica automaticamente le configurazioni aggiornate alle VM, se necessario.
L'impostazione proattiva del tipo di aggiornamento del gruppo di istanze gestite offre due vantaggi principali:
Per scoprire come impostare il tipo di aggiornamento del gruppo di istanze gestite, consulta Configurare un aggiornamento proattivo o opportunistico.
Per maggiori informazioni sulle implementazioni automatiche, consulta Applicare automaticamente gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite.
Selettivo (opportunistico)
Un tipo di aggiornamento selettivo è anche noto come tipo di aggiornamento opportunistico. Quando imposti il tipo di aggiornamento del gruppo di istanze gestite come opportunistico, il gruppo applica le nuove configurazioni alle VM esistenti solo quando scegli come target selettivamente specifiche VM da aggiornare.
L'impostazione del tipo di aggiornamento del gruppo di istanze gestite su opportunistico offre i seguenti vantaggi:
In alcuni scenari, un tipo di aggiornamento selettivo è utile perché non vuoi causare instabilità al sistema se è possibile evitarlo. Ad esempio, considera quanto segue:
Per scoprire come impostare il tipo di aggiornamento del gruppo di istanze gestite, consulta Configurare un aggiornamento proattivo o opportunistico.
Per saperne di più sull'aggiornamento selettivo delle VM, consulta Applicare in modo selettivo gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite.
Ricreazione delle VM
Puoi ricreare qualsiasi VM in un gruppo di istanze gestite. In questo caso, il gruppo di istanze gestite applica qualsiasi configurazione aggiornata non ancora applicata alla VM. Per saperne di più, consulta Ricreare le VM in un gruppo di istanze gestite.
Configura un aggiornamento proattivo o opportunistico
Per applicare automaticamente nuove configurazioni alle VM esistenti, imposta il tipo di aggiornamento del gruppo di istanze gestite su "proattivo". Per applicare nuove configurazioni alle VM esistenti solo quando selezioni una VM da aggiornare, imposta il tipo di aggiornamento del gruppo di istanze gestite su "opportunistico".
Utilizza la console Google Cloud, Google Cloud CLI o REST.
Console
gcloud
Utilizza il comando
rolling-action start-update
e imposta il flag--type
suopportunistic
oproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
Puoi anche utilizzare il comando
update
beta e includere il flag--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Sostituisci quanto segue:
REST
Chiama il metodo
patch
su una risorsa MIG a livello di zona o regionale.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Sostituisci quanto segue:
Per scoprire di più sull'impostazione di un nuovo modello e sull'applicazione di questo modello alle VM nuove ed esistenti in un gruppo di istanze gestite, consulta le pagine seguenti:
Controllare il tipo di criterio di aggiornamento del gruppo
Puoi visualizzare il tipo di criterio di aggiornamento del gruppo di istanze gestite attualmente configurato ("opportunistico" o "proattivo") e altre impostazioni dei criteri di aggiornamento utilizzando gcloud CLI o REST.
gcloud
Utilizza il comando
describe
e includi il flag--format
per elencare solo le impostazioniupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
REST
Effettua una richiesta
GET
per un gruppo di istanze gestite a livello di zona o regionale e controlla il campoupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Per modificare il tipo di criterio, consulta la pagina Configurare un aggiornamento proattivo o opportunistico.
Aggiornamenti per le VM sospese e arrestate
Se hai sospeso e arrestato pool di VM in un gruppo di istanze gestite, puoi aggiornare selettivamente (opportunistico) le VM sospese o arrestate come aggiorni le altre VM in esecuzione. Se configuri gli aggiornamenti automatici (proattivi), il gruppo di istanze gestite aggiorna le VM nel seguente ordine:
Per un aggiornamento automatico, il gruppo di istanze gestite calcola il picco massimo e il numero massimo di istanze non disponibili in base al numero target di VM in esecuzione, e non considera le VM nel pool in standby.
Se l'aggiornamento automatico richiede la sostituzione delle VM nel gruppo, il gruppo di istanze gestite esegue quanto segue:
Se l'aggiornamento automatico richiede solo l'aggiornamento o il riavvio delle VM nel gruppo, il gruppo di istanze gestite procede nel seguente modo:
Aggiornamenti canary
Se vuoi avviare aggiornamenti canary in un gruppo di istanze gestite che ha sospeso o arrestato le VM, si applica quanto segue:
Relazione tra i campi
versions
einstanceTemplate
Se utilizzi REST, ti consigliamo di utilizzare i campi
instanceGroupManagers.versions
eregionInstanceGroupManagers.versions
per configurare i modelli di istanza per i gruppi di istanze gestite a livello di zona e di regione.La funzionalità del campo
instanceTemplate
precedente si sovrappone al campoversions
perché entrambi i campi consentono di specificare il modello di istanza utilizzato dal gruppo di istanze gestite per creare le VM. Tuttavia, solo il campoversions
consente di specificare una configurazione avanzata a due modelli (canary).Per la compatibilità con le versioni precedenti, i gruppi di istanze gestite continuano a supportare l'impostazione del campo
instanceTemplate
di primo livello, anche se consigliamo di passare all'utilizzo del solo campoversions
. L'utilizzo simultaneo del campoinstanceTemplate
di primo livello e del campoversions
può creare ambiguità e confusione.Se specifichi sia il campo
instanceTemplate
sia il campoversions
quando chiami il metodoupdate()
opatch()
, si ottengono tre risultati possibili:I campi
versions
,instanceTemplate
eget()
Se specifichi un solo modello di istanza, tramite il campo
instanceTemplate
di primo livello, il campoversions
o entrambi, il metodoget()
restituisce entrambi i campi nella risposta. Ciò rende il nuovo campoversions
compatibile con le versioni precedenti. Se specifichi un singolo modello di istanza in uno di questi campi, il metodoget()
non cambia nel campoinstanceTemplate
.Se nel campo
versions
sono specificati due modelli di istanza, il metodoget()
restituisce un campoinstanceTemplate
di primo livello vuoto. Non è possibile esprimere in modo univoco una configurazione di un modello canary con due istanze nel campoinstanceTemplate
di primo livello, quindi il campo non viene utilizzato durante un aggiornamento canary.Il campo
versions
e il metodosetInstanceTemplate()
Per la compatibilità con le versioni precedenti, il metodo
setInstanceTemplate()
si comporta come in precedenza, consentendoti di modificare il modello utilizzato dal gruppo di istanze gestite per creare VM. Quando chiami questo metodo, il campoversions
viene sostituito con il modello di istanza specificato dal metodosetInstanceTemplate()
.Il metodo
setInstanceTemplate()
imposta ancheupdatePolicy
suOPPORTUNISTIC
. Ciò impedisce al gruppo di istanze gestite di eseguire attivamente il deployment di un modello di istanza non specificato esplicitamente nel campoversions
.Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-07-17 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -