Le serveur de métadonnées fournit des informations sur les options et paramètres de programmation d'une instance de machine virtuelle (VM) via le répertoire de métadonnées scheduling/
et la clé de métadonnées maintenance-event
. Vous pouvez utiliser ces clés de métadonnées pour en savoir plus sur les options de programmation d'une VM et être informé lorsqu'un événement de maintenance est sur le point de se produire.
Par défaut, toutes les VM (sauf Z3 (preview)) sont définies sur migrer à chaud et le serveur de métadonnées reçoit des notifications d'événements de maintenance avant la migration à chaud d'une instance de VM. Toutefois, si vous choisissez une autre option de programmation, les événements de maintenance et le comportement des VM peuvent varier. Pour en savoir plus sur les événements de maintenance et le comportement des VM pendant les événements, consultez la page Présentation de la maintenance de l'hôte.
Avant de commencer
- Pour les VM Windows Server, utilisez PowerShell 3.0 ou version ultérieure.
Nous vous recommandons d'utiliser
ctrl+v
pour coller les blocs de code copiés. -
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Obtenir des notifications de migration à chaud
Vous pouvez savoir quand un événement de maintenance se produira en interrogeant régulièrement la clé de métadonnées maintenance-event
.
La clé de métadonnées maintenance-event
n'est renseignée pour les événements de maintenance que si vous avez défini l'option de programmation de votre VM sur migrate
ou si un GPU est associé à votre VM.
La valeur de cette clé de métadonnées change 60 secondes avant le début d'un événement de maintenance, ce qui permet au code d'application de déclencher les tâches que vous souhaitez effectuer avant l'événement de maintenance, comme la sauvegarde des données ou la mise à jour des journaux.
En résumé, Compute Engine ne déclenche l'avertissement de 60 secondes que dans les cas suivants :
Vous avez défini les options de disponibilité de la VM pour la migration à chaud lors d'un événement de maintenance.
Vous avez interrogé la clé de métadonnées
maintenance-event
au moins une fois depuis le dernier événement de maintenance.Si vous n'avez jamais interrogé la clé de métadonnées
maintenance-event
ou si vous n'avez pas interrogé la clé de métadonnées depuis la dernière migration, Compute Engine suppose que la VM ne nécessite pas d'avertissement préalable pour les événements de maintenance. L'événement de maintenance ignore l'avertissement de 60 secondes et se déclenche immédiatement.Si vous ne souhaitez pas que l'avertissement de 60 secondes soit ignoré, assurez-vous que le code client interroge la clé de métadonnées
maintenance-event
au moins une fois entre les événements de migration. Vous devez interroger directement la clé de métadonnéesmaintenance-event
pour que Compute Engine détermine que vous surveillez cette clé de métadonnées. L'interrogation de métadonnées de niveau supérieur ne déclenche pas la notification préalable.
Pour les VM associées à des GPU, la valeur change 60 minutes avant l'arrêt des VM pour vous donner le temps de les arrêter et de les redémarrer sur un autre hôte. Les VM avec des GPU ne sont pas migrées à chaud, mais sont arrêtées et éventuellement redémarrées. Pour en savoir plus, consultez la page Gérer les événements de maintenance de l'hôte GPU.
Pour un ensemble spécifique de VM, vos options de maintenance de VM sont plus flexibles. Pour en savoir plus, consultez la section Surveiller et planifier un événement de maintenance de l'hôte.
Interroger la clé de métadonnées d'un événement de maintenance
VM Linux
Pour interroger la clé de métadonnées maintenance-event
sur des VM Linux, exécutez la commande suivante :
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
Le résultat ressemble à ce qui suit :
NONE
VM Windows
Pour interroger la clé de métadonnées maintenance-event
sur des VM Windows, exécutez la commande suivante :
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
Le résultat ressemble à ce qui suit :
NONE
Python
Vous pouvez vous servir de la clé de métadonnées maintenance-event
avec la fonctionnalité d'attente de mises à jour pour notifier vos scripts et applications lorsqu'un événement de maintenance est sur le point de démarrer et de se terminer. Cela vous permet d'automatiser toutes les actions que vous souhaitez exécuter avant ou après l'événement.
L'exemple Python suivant fournit un exemple de mise en œuvre de ces deux fonctionnalités.
Examiner les résultats
La valeur initiale et par défaut de la clé de métadonnées maintenance-event
est NONE
.
Pour les VM associées à des GPU, la valeur
NONE
est remplacée parTERMINATE_ON_HOST_MAINTENANCE
lors d'un événement de maintenance. Cette valeur est mise à jour 60 minutes avant le début de l'événement d'arrêt.Sur les VM sans GPU disposant d'une option de programmation
migrate
, la valeurmaintenance-event
est modifiée comme suit :- Au début de l'événement de migration, la valeur passe de
NONE
àMIGRATE_ON_HOST_MAINTENANCE
. Cette valeur est mise à jour 60 secondes avant le début de l'événement d'arrêt. - Pendant toute la durée de l'événement et pendant la migration de votre instance de VM, la valeur reste
MIGRATE_ON_HOST_MAINTENANCE
. - Une fois l'événement de maintenance terminé, la valeur revient à
NONE
.
- Au début de l'événement de migration, la valeur passe de
Pour les VM à locataire unique, lors d'un événement de maintenance de l'hôte, la valeur de la clé de métadonnées
maintenance-event
ne change pas et resteNONE
du début à la fin de l'événement.
Étape suivante
- Découvrez comment définir les règles de disponibilité d'une instance.
- En savoir plus sur la migration à chaud.
- Apprenez-en plus sur les métadonnées des VM.