Questo documento descrive come applicare in modo selettivo gli aggiornamenti di configurazione alle istanze di macchine virtuali (VM) in un gruppo di istanze gestite (MIG).
Compute Engine gestisce le VM in un MIG in base ai componenti di configurazione che utilizzi: modello di istanza, configurazione facoltativa per tutte le istanze e configurazione stateful facoltativa.
Ogni volta che aggiorni la configurazione delle VM di un MIG modificando questi componenti, Compute Engine applica automaticamente la configurazione aggiornata alle nuove VM aggiunte al gruppo.
Per applicare una configurazione aggiornata alle VM esistenti, puoi configurare un aggiornamento selettivo, noto anche come tipo di aggiornamento "opportunistico". Questo tipo di aggiornamento offre i seguenti vantaggi:
- Puoi selezionare le VM da aggiornare.
- Puoi controllare la tempistica e la sequenza degli aggiornamenti.
- Puoi utilizzare gcloud CLI o REST per aggiornare immediatamente tutte le VM.
In alternativa, se vuoi automatizzare l'implementazione di una nuova configurazione per tutte le VM o per un sottoinsieme casuale di VM in un MIG, consulta Applica automaticamente gli aggiornamenti alla configurazione delle VM in un MIG. Per aiutarti a decidere, consulta la pagina Metodi per applicare una nuova configurazione alle VM esistenti.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo di verifica dell'identità per poter accedere a Trusted Cloud by S3NS servizi e API.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Applica la configurazione aggiornata alle VM selezionate
Assicurati che il tipo di criterio di aggiornamento del gruppo sia impostato su "opportunistico" per impedire al MIG di applicare automaticamente una nuova configurazione VM alle VM esistenti. Per ulteriori informazioni, consulta Controllare il tipo di policy di aggiornamento del gruppo.
Poi utilizza gcloud CLI o REST per aggiornare la configurazione del MIG e applicare l'ultima configurazione a VM specifiche nel gruppo o a tutte le VM del gruppo.
gcloud
Per configurare un nuovo modello di istanza per il tuo gruppo, puoi utilizzare il comando
set-instance-template
.gcloud compute instance-groups managed set-instance-template INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE
Applica la configurazione a VM specifiche
Per applicare la configurazione aggiornata a VM specifiche, utilizza il comando
update-instances
con il flag--instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAMES \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Applica la configurazione a tutte le VM
Per applicare la configurazione aggiornata a tutte le VM, utilizza il comando
update-instances
con il flag--all-instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Sostituisci quanto segue:
INSTANCE_GROUP_NAME
: il nome del MIGINSTANCE_TEMPLATE
: nuovo modello di istanzaINSTANCE_NAMES
: un elenco di VM a cui applicare il templateDISRUPTION_LEVEL
: il livello di interruzione minimo o massimo:none
,refresh
,restart
oreplace
- L'azione minima predefinita è
none
- L'azione più distruttiva consentita predefinita è
replace
- L'azione minima predefinita è
REST
Per configurare un nuovo modello di istanza per il tuo gruppo, chiama il metodo
patch
su un MIG a livello di zona o a livello di regione e aggiorna il campoversions.instanceTemplate
. Per evitare di eseguire automaticamente il rollout del nuovo modello su tutte le VM del gruppo, imposta il campoupdatePolicy.type
suOPPORTUNISTIC
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "OPPORTUNISTIC" }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Applica la configurazione a VM specifiche
Per applicare la configurazione aggiornata a VM specifiche, chiama il metodo
applyUpdatesToInstances
per il tuo MIG a livello di zona o di regione e specifica un elenco di VM nella richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ], "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Applica la configurazione a tutte le VM
Per applicare la configurazione aggiornata a tutte le VM esistenti, imposta il campo
allInstances
sutrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "allInstances": true, "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Sostituisci quanto segue:
INSTANCE_GROUP_NAME
: il nome del gruppoNEW_TEMPLATE
: il nome del nuovo templateZONE
: la zona di un'istanza da aggiornareINSTANCE_NAME_1
eINSTANCE_NAME_2
: i nomi delle VM da aggiornareDISRUPTION_LEVEL
: il livello di interruzione minimo o massimo:NONE
,REFRESH
,RESTART
oREPLACE
- Il valore predefinito
minimalAction
èNONE
. - Il valore predefinito
mostDisruptiveAllowedAction
èREPLACE
.
- Il valore predefinito
Analogamente ad altri metodi del gruppo di istanze gestite,
applyUpdatesToInstances
è basato sull'intent, il che significa che restituisce una risposta dell'operazione. Il completamento dell'operazione può richiedere un po' di tempo.Dopo aver inviato una richiesta, puoi controllare lo stato per verificare che l'aggiornamento sia stato completato.
Controllare il livello di interruzione durante gli aggiornamenti selettivi
A seconda della natura di un aggiornamento, potrebbe interrompere lo stato di un'istanza. Ad esempio, la modifica del disco di avvio di un'istanza richiede la sostituzione dell'istanza. Puoi controllare il livello di interruzione durante un aggiornamento selettivo impostando le seguenti opzioni:
Azione minima: utilizza questa opzione per ridurre al minimo le interruzioni o per applicare un'azione più invasiva del necessario.
- Per limitare al massimo le interruzioni, imposta l'azione minima su
NONE
. Se l'aggiornamento richiede un'azione più invasiva, Compute Engine esegue l'azione necessaria per eseguire l'aggiornamento. - Per applicare un'azione più distruttiva del necessario, imposta l'azione
minima su
RESTART
oREPLACE
. Ad esempio, Compute Engine non deve riavviare una VM per modificarne i metadati. Tuttavia, se la tua applicazione legge i metadati dell'istanza solo quando una VM viene riavviata, puoi impostare l'azione minima suRESTART
per rilevare le modifiche ai metadati.
- Per limitare al massimo le interruzioni, imposta l'azione minima su
Azione più invasiva consentita: utilizza questa opzione per impedire un aggiornamento se richiede un'interruzione più lunga di quanto tu possa permetterti. Se l'aggiornamento richiede un'azione più invasiva di quella impostata con questo flag, la richiesta di aggiornamento non va a buon fine. Ad esempio, se imposti l'azione più invasiva consentita su
RESTART
, un tentativo di aggiornamento dell'immagine del disco di avvio non va a buon fine perché l'aggiornamento richiede la ricreazione dell'istanza, un'azione più invasiva di un riavvio.
Quando aggiorni le VM selezionate, entrambe le opzioni accettano i seguenti valori:
Valore Descrizione Quali proprietà dell'istanza possono essere aggiornate? NONE
Non interrompere l'istanza. Nessuno REFRESH
Non arrestare l'istanza. Dischi aggiuntivi, metadati dell'istanza, etichette, tag RESTART
Arresta l'istanza e riavviala. Dischi aggiuntivi, metadati dell'istanza, etichette, tag, tipo di macchina REPLACE
Elimina l'istanza e ricreala. Tutte le proprietà dell'istanza archiviate nel modello di istanza o nella configurazione per istanza L'azione consentita più distruttiva non può essere meno distruttiva dell'azione minima.
Quando aggiorni le VM in modo selettivo, vengono applicate le seguenti impostazioni predefinite:
- L'azione minima predefinita è
NONE
, che limita al massimo le interruzioni. - L'azione più invasiva consentita per impostazione predefinita è
REPLACE
. Se non riesci a tollerare un'interruzione di questo tipo, imposta l'azione consentita più invasiva in modo che sia meno invasiva.
Passaggi successivi
- Scopri come visualizzare informazioni su VM e gruppi di istanze gestite.
- Scopri di più sulla creazione di modelli di istanza.
- Scopri come utilizzare le famiglie di immagini e una sostituzione in sequenza per aggiornare l'immagine sistema operativo su tutte le VM di un MIG.
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 2025-08-18 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-18 UTC."],[[["This document explains how to selectively update the configuration of virtual machines (VMs) within a managed instance group (MIG), allowing control over which VMs are updated and when."],["Selective updates, also known as \"opportunistic\" updates, enable users to choose specific VMs for updates, manage the update timing, and use gcloud CLI or REST for immediate updates."],["The gcloud CLI or REST API can be used to update either specific VMs or all VMs within a MIG to a new configuration."],["Users can manage the level of disruption during selective updates by specifying a minimal action (e.g., `NONE`, `REFRESH`, `RESTART`) and a most disruptive allowed action (e.g., `REPLACE`), with defaults being `NONE` and `REPLACE` respectively."],["Before doing any updates, you must set your instance group update policy to opportunistic to prevent automatic updates, then set the updated information accordingly, as well as the required permissions to run these updates."]]],[]] -