Questa pagina descrive come testare gli effetti delle norme di manutenzione dell'host dell'istanza Compute Engine sulle tue applicazioni.
Puoi simulare un evento di manutenzione sulle VM per testare quanto segue:
- Gli effetti della migrazione in tempo reale sulle tue applicazioni.
- In che modo le applicazioni e i job batch gestiscono la preemption e l'arresto quando utilizzi una o più VM spot.
- Il modo in cui le applicazioni gestiscono il processo di arresto e riavvio per le istanze configurate per essere terminate e riavviate durante gli eventi di manutenzione anziché eseguire la migrazione live.
- Il comportamento dei carichi di lavoro in esecuzione su nodi single-tenant durante un evento di manutenzione dell'host e gli effetti del criterio di manutenzione dell'host della VM single-tenant sulle applicazioni in esecuzione sulle VM.
Se provi a simulare un evento di manutenzione dell'host su un'istanza che non supporta la migrazione live, l'istanza viene terminata o riavviata, a seconda del criterio di manutenzione dell'host configurato.
Prima di iniziare
- Esamina il
limite di frequenza delle richieste API regionale
per
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion
. -
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Per simulare correttamente un evento di manutenzione su un gruppo di nodi single-tenant con un criterio di manutenzione dell'host impostato su Esegui la migrazione all'interno del gruppo di nodi, devi attivare l'evento di manutenzione in sequenza su ogni nodo.
- Per un gruppo di nodi single-tenant, quando provi a simulare un evento di manutenzione dell'host e il gruppo di nodi ha un criterio di manutenzione dell'host impostato per eseguire la migrazione all'interno del gruppo di nodi:
- Se il numero di nodi specificati è minore o uguale al numero totale di nodi inutilizzati riservati, la simulazione dell'evento di manutenzione dell'host viene eseguita contemporaneamente per tutti i nodi specificati.
- Se il numero di nodi specificato è maggiore del numero totale di nodi riservati, la simulazione non va a buon fine.
- Il numero di simulazioni di eventi di manutenzione che puoi avviare al minuto per regione è limitato dal limite di frequenza dell'API per la metrica
simulate_maintenance_event_requests_per_region
. - All'inizio della simulazione, il valore della chiave dei metadati
maintenance-event
viene modificato daNONE
aMIGRATE_ON_HOST_MAINTENANCE
. - Per tutta la durata dell'evento di simulazione, il valore rimane
MIGRATE_ON_HOST_MAINTENANCE
. - Al termine della simulazione, il valore torna a
NONE
. INSTANCE_NAME
: il nome dell'istanza di calcolo in cui vuoi simulare l'evento di manutenzione.Puoi specificare più nomi di istanze separati da spazi singoli per simulare eventi di manutenzione su più istanze nella stessa zona. Ad esempio,
instance-1 instance-2 instance-3
.ZONE
: la zona in cui si trova l'istanza.PROJECT_ID
: l'ID progetto per questa richiesta.INSTANCE_NAME
: il nome dell'istanza per la quale vuoi simulare l'evento di manutenzione.ZONE
: la zona in cui si trova l'istanza.Utilizza il comando
compute instances simulate-maintenance-event
per simulare un evento di manutenzione per un'istanza e testare le impostazioni dei criteri di manutenzione dell'host configurati. Se vuoi, puoi includere il flag--with-extended-notifications
.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza di calcolo in cui vuoi simulare l'evento di manutenzione.Puoi specificare più nomi di istanze separati da spazi singoli per simulare eventi di manutenzione su più istanze nella stessa zona. Ad esempio,
instance-1 instance-2 instance-3
.ZONE
: la zona in cui si trova l'istanza.
(Facoltativo) Per avviare manualmente l'evento di manutenzione simulato, utilizza il comando
compute instances perform-maintenance
.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza di calcolo in cui vuoi simulare l'evento di manutenzione.Puoi specificare più nomi di istanze separati da spazi singoli per simulare eventi di manutenzione su più istanze nella stessa zona. Ad esempio,
instance-1 instance-2 instance-3
.ZONE
: la zona in cui si trovano le istanze.
Crea una richiesta
POST
al metodocompute.instances.simulateMaintenanceEvent
. Se vuoi, puoi includere il parametro di querywithExtendedNotifications
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiesta.INSTANCE_NAME
: il nome dell'istanza per la quale vuoi simulare l'evento di manutenzione.ZONE
: la zona in cui si trova l'istanza.
(Facoltativo) Per avviare manualmente l'evento di manutenzione simulato, crea una richiesta
POST
al metodocompute.instances.performMaintenance
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza compute in cui vuoi avviare l'evento di manutenzione.Puoi specificare più nomi di istanze separati da spazi singoli per eseguire eventi di manutenzione su più istanze nella stessa zona. Ad esempio,
instance-1 instance-2 instance-3
.ZONE
: la zona in cui si trovano le istanze.
NODE_GROUP
: il nome del gruppo di nodi in cui vuoi simulare l'evento di manutenzione.NODE_NAMES
: i nomi dei nodi in cui vuoi simulare l'evento di manutenzione. Quando specifichi più nomi di nodi, utilizza valori separati da virgole, ad esempionode-1,node-2,node-3
.ZONE
: la zona in cui si trovano i nodi.PROJECT_ID
: l'ID progetto per questa richiesta.ZONE
: la zona in cui si trovano i nodi.NODE_GROUP
: il nome del gruppo di nodi in cui vuoi simulare l'evento di manutenzione.NODE_NAMES
: i nomi dei nodi in cui vuoi simulare l'evento di manutenzione. Racchiudi il nome del nodo tra virgolette doppie, ad esempio"node-1"
. Inoltre, quando specifichi più nomi di nodi, utilizza valori separati da virgole, ad esempio"node-1","node-2","node-3"
.- Scopri di più su come organizzare eventi.
- Scopri di più sulla manutenzione dell'host sui nodi single-tenant.
- Scopri di più su come impostare le opzioni dei criteri di manutenzione dell'host VM.
- Scopri come visualizzare le operazioni delle VM.
- Scopri di più su multitenancy e single-tenancy.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Simula gli eventi di manutenzione dell'host per testare la migrazione live
Puoi simulare un evento di manutenzione per un'istanza di calcolo utilizzando Google Cloud CLI o una richiesta API. Questo evento simulato include le diverse attività di manutenzione che si verificano in un evento di manutenzione regolare. In questo modo, puoi osservare il processo end-to-end e testare eventuali automazioni che potresti aver implementato.
Durante la simulazione dell'evento di manutenzione dell'host per un'istanza che utilizza la migrazione live, la chiave dei metadati
maintenance-event
dell'istanza subisce le seguenti modifiche:Per eseguire una query sulla chiave dell'evento di manutenzione, consulta Eseguire una query sulla chiave dei metadati dell'evento di manutenzione.
gcloud
Utilizza il comando
compute instances simulate-maintenance-event
per simulare un evento di manutenzione per un'istanza e testare le impostazioni configurate del criterio di manutenzione dell'host:gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Sostituisci quanto segue:
REST
Crea una richiesta
POST
al metodocompute.instances.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
Sostituisci quanto segue:
Simulare la manutenzione dell'host per le istanze di calcolo che vengono terminate
Puoi simulare un evento di manutenzione per un'istanza di calcolo utilizzando Google Cloud CLI o una richiesta API. Questo evento simulato include le diverse attività di manutenzione che si verificano in un evento di manutenzione regolare. In questo modo, puoi osservare il processo end-to-end e testare eventuali automazioni che potresti aver implementato.
Inoltre, utilizzando il parametro
--with-extended-notifications
con un tipo di macchina supportato puoi testare l'avvio manuale della manutenzione dell'host durante l'evento simulato.gcloud
REST
Simulare eventi di manutenzione dell'host sui nodi single-tenant
Puoi simulare un evento di manutenzione dell'host su nodi di proprietà esclusiva utilizzando Google Cloud CLI o una richiesta API. Durante la simulazione dell'evento di manutenzione dell'host su una VM di proprietà esclusiva, il valore della chiave dei metadati
maintenance-event
non cambia e rimaneNONE
per tutta la durata della simulazione.gcloud
Esegui il comando
sole-tenancy node-groups simulate-maintenance-event
per forzare i nodi single-tenant ad attivare il criterio di manutenzione configurato:gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \ --nodes=NODE_NAMES \ --zone=ZONE \ --async
Sostituisci quanto segue:
REST
Crea una richiesta
POST
al metodocompute.nodeGroups.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent { "nodes": [ "NODE_NAMES" ] }
Sostituisci quanto segue:
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-11-23 UTC.
-