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 di proprietà privata durante un evento di manutenzione dell'host e gli effetti del criterio di manutenzione dell'host della VM di proprietà privata 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 è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. 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:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
-
Limitazioni
- Per simulare correttamente un evento di manutenzione in 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
.
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:
- 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 uguale a
MIGRATE_ON_HOST_MAINTENANCE
. - Al termine della simulazione, il valore torna a
NONE
.
Per eseguire una query sulla chiave dell'evento di manutenzione, consulta Eseguire una query sulla chiave dei metadati dell'evento di manutenzione.
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-eventINSTANCE_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.
Crea una richiesta POST
al
metodo compute.instances.simulateMaintenanceEvent
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/INSTANCE_NAME /simulateMaintenanceEvent
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.
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.
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=TrueSostituisci 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=TrueSostituisci 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 /performMaintenanceSostituisci 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.
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 rimane NONE
per tutta la durata della simulazione.
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-eventNODE_GROUP \ --nodes=NODE_NAMES \ --zone=ZONE \ --async
Sostituisci quanto segue:
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.
Crea una richiesta POST
al
metodo compute.nodeGroups.simulateMaintenanceEvent
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /nodeGroups/NODE_GROUP /simulateMaintenanceEvent { "nodes": [ "NODE_NAMES " ] }
Sostituisci quanto segue:
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"
.
Passaggi successivi
- 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 del criterio di manutenzione dell'host VM.
- Scopri come visualizzare le operazioni delle VM.
- Scopri di più su multi- e single-tenancy.