Simula un evento di manutenzione dell'host

Questa pagina descrive come testare gli effetti della macchina virtuale (VM) criterio di manutenzione dell'host dell'istanza sulle tue applicazioni.

Puoi simulare un evento di manutenzione sulle tue VM nelle seguenti situazioni:

  • Hai delle VM configurate per la migrazione live durante gli eventi di manutenzione, mentre devi testare gli effetti per la migrazione delle applicazioni.
  • Esistono job batch in esecuzione su istanze VM prerilasciabili Devi testare il modo in cui le tue applicazioni gestiscono il prerilascio e la chiusura di una o più istanze.
  • Le tue istanze sono configurate interrompere e riavviare durante la manutenzione. anziché la migrazione live, devi verificare il modo in cui le tue applicazioni e gestire il processo di arresto e riavvio.
  • Vuoi testare il modo in cui i carichi di lavoro sono in esecuzione sui nodi single-tenant comportarsi durante un evento di manutenzione dell'host e osservarne gli effetti criterio di manutenzione dell'host della VM single-tenant sulle applicazioni in esecuzione sulle VM.

Prima di iniziare

  • Consulta il limite di frequenza API per la metrica simulate_maintenance_event_requests.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

  • Se provi a simulare un evento di manutenzione dell'host su VM che non supportano la migrazione live, vengono terminati o riavviati, a seconda del tipo criterio di manutenzione dell'host.

  • Quando provi a simulare un evento di manutenzione dell'host su un gruppo di nodi che ha criterio di manutenzione dell'host impostato per eseguire la migrazione all'interno del gruppo di nodi, se il numero di nodi specificato è inferiore o uguale al numero totale di holdback di nodi prenotati, la simulazione degli eventi di manutenzione dell'host viene eseguita per tutti nodi specificati contemporaneamente. Invece, se il numero di nodi specificato è maggiore del numero totale di nodi di isolamento riservati, la simulazione ha esito negativo.

  • Per simulare correttamente un evento di manutenzione su un gruppo di nodi che ha criterio di manutenzione dell'host impostato per eseguire la migrazione all'interno del gruppo di nodi, devi attivare l'evento di manutenzione in sequenza su ciascun nodo.

Simula eventi di manutenzione dell'host

Puoi simulare un evento di manutenzione su una VM utilizzando Google Cloud CLI o una richiesta API.

Durante la simulazione dell'host di manutenzione, la chiave di metadati maintenance-event della VM passa le seguenti modifiche:

  1. All'inizio della simulazione, il valore dell'attributo maintenance-event modifiche alla chiave dei metadati da NONE a MIGRATE_ON_HOST_MAINTENANCE.
  2. Per tutta la durata dell'evento di simulazione, il valore rimane invariato MIGRATE_ON_HOST_MAINTENANCE.
  3. Al termine della simulazione, il valore torna a NONE.

Per eseguire query sulla chiave dell'evento di manutenzione, consulta Eseguire query sulla chiave dei metadati dell'evento di manutenzione.

gcloud

Esegui l' instances simulate-maintenance-event per forzare un'istanza ad attivare il criterio di manutenzione configurato azione:

gcloud compute instances simulate-maintenance-event VM_NAME \
    --zone ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM in cui vuoi per simulare l'evento di manutenzione.

    Puoi specificare più nomi di VM separati da spazi singoli per simulare eventi di manutenzione su più di una VM nello stesso zona di destinazione. Ad esempio, instance-1 instance-2 instance-3.

  • ZONE: la zona in cui si trova l'istanza.

REST

Nell'API Compute Engine, effettua una richiesta Metodo compute.instances.simulateMaintenanceEvent:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per questa richiesta.
  • VM_NAME: il nome dell'istanza 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 di destinazione. Ad esempio, instance-1 instance-2 instance-3.

  • ZONE: la zona in cui si trova l'istanza.

Simula eventi di manutenzione dell'host sui nodi single-tenant

Puoi simulare un evento di manutenzione dell'host sui nodi single-tenant utilizzando Google Cloud CLI o una richiesta API. Durante la simulazione dell'host su una VM single-tenant, la chiave di metadati maintenance-event il valore non cambia e rimane NONE per tutta la simulazione.

gcloud

Esegui l' 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:

  • 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. Mentre specifichi più nodi usa valori separati da virgole, ad esempio node-1,node-2,node-3.

  • ZONE: la zona in cui si trovano i nodi.

REST

Nell'API Compute Engine, effettua una richiesta 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". E, mentre specifichi nomi di nodi multipli, utilizza valori separati da virgole, ad esempio "node-1","node-2","node-3".

Passaggi successivi