Il server dei metadati fornisce informazioni sulle opzioni e sulle impostazioni di pianificazione dell'istanza di una macchina virtuale (VM) tramite l'elenco della directory di metadati scheduling/
e la chiave di metadati maintenance-event
. Puoi utilizzare queste chiavi di metadati per ottenere informazioni sulle opzioni di pianificazione di una VM e anche per ricevere una notifica quando sta per verificarsi un evento di manutenzione.
Per impostazione predefinita, tutte le VM (tranne la Z3) sono impostate sulla migrazione live e il server di metadati riceve notifiche sugli eventi di manutenzione prima della migrazione live di un'istanza VM. Tuttavia, se scegli un'opzione di pianificazione diversa, gli eventi di manutenzione e il comportamento della VM potrebbero variare. Per scoprire di più sugli eventi di manutenzione e sul comportamento delle VM durante gli eventi, consulta Panoramica della manutenzione dell'host.
Prima di iniziare
- Per le VM Windows Server, utilizza
PowerShell 3.0 o versioni successive.
Ti consigliamo di utilizzare
ctrl+v
per incollare i blocchi di codice copiati. -
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.
Per utilizzare gli esempi Python in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ricevi le notifiche sulla migrazione live
Puoi sapere quando si verifica un evento di manutenzione eseguendo periodicamente query sulla chiave di metadati maintenance-event
.
La chiave dei metadati maintenance-event
viene compilata per gli eventi di manutenzione solo se hai impostato l'opzione di pianificazione della VM su migrate
o se alla VM è collegata una GPU.
Il valore di questa chiave di metadati cambia 60 secondi prima dell'inizio di un evento di manutenzione, consentendo al codice dell'applicazione di attivare le attività da eseguire prima di un evento di manutenzione, come il backup dei dati o l'aggiornamento dei log.
Riassumendo, Compute Engine restituisce un avviso di 60 secondi solo se:
Hai impostato le opzioni di disponibilità della VM per la migrazione live durante un evento di manutenzione.
Hai eseguito una query sulla chiave di metadati
maintenance-event
almeno una volta dall'ultimo evento di manutenzione.Se non hai mai eseguito query sulla chiave dei metadati
maintenance-event
o non hai eseguito query sulla chiave dei metadati dall'ultima migrazione, Compute Engine presuppone che la VM non richieda un avviso anticipato degli eventi di manutenzione. L'evento di manutenzione viene avviato immediatamente e ignora l'avviso di 60 secondi.Se non vuoi saltare l'avviso di 60 secondi, assicurati che il codice client esegui una query sulla chiave dei metadati
maintenance-event
almeno una volta tra un evento di migrazione e l'altro. Devi eseguire una query sulla chiave di metadatimaintenance-event
direttamente per consentire a Compute Engine di determinare che stai osservando questa chiave di metadati. L'esecuzione di query su metadati di livello superiore non attiva il preavviso.
Per le VM con GPU collegate, il valore cambia 60 minuti prima dell'arresto delle VM per darti il tempo di arrestare e riavviare nuovamente su un altro host. Le VM con GPU collegate non vengono migrate in tempo reale e vengono invece arrestate e, facoltativamente, riavviate. Per scoprire di più, consulta Gestione degli eventi di manutenzione degli host GPU.
Per un gruppo specifico di VM, le opzioni di manutenzione sono più flessibili. Per scoprire di più, consulta Monitorare e pianificare un evento di manutenzione dell'host.
Esegui una query sulla chiave dei metadati dell'evento di manutenzione
VM Linux
Per eseguire una query sulla chiave di metadati maintenance-event
sulle VM Linux, esegui questo comando:
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
L'output è simile al seguente:
NONE
VM Windows
Per eseguire una query sulla chiave di metadati maintenance-event
sulle VM Windows, esegui questo comando:
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
L'output è simile al seguente:
NONE
Python
Puoi utilizzare la chiave dei metadati maintenance-event
con la funzionalità In attesa di aggiornamenti per inviare una notifica ai tuoi script e alle tue applicazioni quando un evento di manutenzione sta per iniziare e finire. In questo modo puoi automatizzare le azioni
che potresti voler eseguire prima o dopo l'evento.
Il seguente esempio Python fornisce un esempio di come implementare insieme queste due funzionalità.
Esamina gli output
Il valore iniziale e predefinito della chiave dei metadati maintenance-event
è NONE
.
Per le VM con GPU collegate, durante un evento di manutenzione il valore cambia da
NONE
aTERMINATE_ON_HOST_MAINTENANCE
. Questo valore viene aggiornato 60 minuti prima dell'inizio dell'evento di interruzione.Per le VM non GPU con un'opzione di pianificazione di
migrate
, il valoremaintenance-event
cambia come segue:- All'inizio dell'evento di migrazione, il valore cambia da
NONE
aMIGRATE_ON_HOST_MAINTENANCE
. Questo valore viene aggiornato 60 secondi prima dell'inizio dell'evento di interruzione. - Per tutta la durata dell'evento e durante la migrazione in tempo reale dell'istanza VM, il valore rimane
MIGRATE_ON_HOST_MAINTENANCE
. - Al termine dell'evento di manutenzione, il valore torna a
NONE
.
- All'inizio dell'evento di migrazione, il valore cambia da
Per le VM single-tenant, durante un evento di manutenzione dell'host, il valore della chiave dei metadati
maintenance-event
non cambia e rimaneNONE
dall'inizio alla fine dell'evento.
Passaggi successivi
- Scopri di più sull'impostazione dei criteri di disponibilità delle istanze.
- Scopri di più sulla migrazione live.
- Scopri di più sui metadati delle VM.