Cette page explique comment tester les effets de la stratégie de maintenance de l'hôte de votre instance de machine virtuelle (VM) sur vos applications.
Vous pouvez simuler un événement de maintenance sur vos VM dans les situations suivantes :
- Vous avez des VM configurées de telle manière qu'elles migrent à chaud lors des événements de maintenance, et vous devez tester les effets de la migration à chaud sur vos applications.
- Vous avez des tâches par lot exécutées sur des instances de VM préemptives, et vous devez tester la manière dont les applications gèrent la préemption et l'arrêt d'une ou plusieurs instances.
- Vos instances sont configurées de telle manière qu'elles s'arrêtent et redémarrent au lieu de migrer à chaud lors des événements de maintenance, et vous devez tester la manière dont les applications gèrent ce processus d'arrêt et de redémarrage.
- Vous souhaitez tester le comportement des charges de travail exécutées sur des nœuds à locataire unique lors d'un événement de maintenance de l'hôte et voir les effets de la stratégie de maintenance de l'hôte d'une VM à locataire unique. sur les applications exécutées sur les VM.
Avant de commencer
- Consultez la limite de requêtes de l'API pour la métrique
simulate_maintenance_event_requests
. -
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 :
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Si vous essayez de simuler un événement de maintenance de l'hôte sur des VM qui ne sont pas compatibles avec la migration à chaud, elles sont soit arrêtées, soit redémarrées en fonction de la règle de maintenance de l'hôte configurée.
Lorsque vous essayez de simuler un événement de maintenance d'hôte sur un groupe de nœuds pour lequel la stratégie de maintenance de l'hôte est définie sur migrer dans le groupe de nœuds, si le nombre de nœuds spécifié est inférieur ou égal à nombre total de nœuds réservés, la simulation de l'événement de maintenance de l'hôte s'exécute simultanément pour tous les nœuds spécifiés. En revanche, si le nombre de nœuds spécifié est supérieur au nombre total de nœuds réservés, la simulation échoue.
Pour simuler correctement un événement de maintenance sur un groupe de nœuds pour lequel la stratégie de maintenance de l'hôte est définie sur "migrer dans le groupe de nœuds", vous devez déclencher l'événement de maintenance de manière séquentielle sur chaque nœud.
- Au début de la simulation, la valeur de la clé de métadonnées
maintenance-event
passe deNONE
àMIGRATE_ON_HOST_MAINTENANCE
. - Pendant toute la durée de l'événement de simulation, la valeur reste à
MIGRATE_ON_HOST_MAINTENANCE
. - Une fois la simulation terminée, la valeur revient à
NONE
. VM_NAME
: nom de la VM sur laquelle vous souhaitez simuler l'événement de maintenance.Vous pouvez spécifier plusieurs noms de VM séparés par des espaces pour simuler des événements de maintenance sur plusieurs VM dans la même zone. Par exemple,
instance-1 instance-2 instance-3
.ZONE
: zone où se trouve l'instancePROJECT_ID
: ID du projet pour cette requête.VM_NAME
: nom de l'instance sur laquelle vous souhaitez simuler l'événement de maintenance.Vous pouvez spécifier plusieurs noms d'instance séparés par des espaces pour simuler des événements de maintenance sur plusieurs instances dans la même zone. Par exemple,
instance-1 instance-2 instance-3
.ZONE
: zone où se trouve l'instanceNODE_GROUP
: nom du groupe de nœuds dans lequel vous souhaitez simuler l'événement de maintenance.NODE_NAMES
: noms des nœuds sur lesquels vous souhaitez simuler l'événement de maintenance. Lorsque vous spécifiez plusieurs noms de nœuds, utilisez des valeurs séparées par une virgule, par exemplenode-1,node-2,node-3
.ZONE
: zone où se trouvent les nœudsPROJECT_ID
: ID du projet pour cette requête.ZONE
: zone où se trouvent les nœudsNODE_GROUP
: nom du groupe de nœuds dans lequel vous souhaitez simuler l'événement de maintenance.NODE_NAMES
: noms des nœuds dans lesquels vous souhaitez simuler l'événement de maintenance. Placez le nom du nœud entre guillemets doubles, par exemple"node-1"
. Lorsque vous spécifiez plusieurs noms de nœuds, utilisez des valeurs séparées par une virgule, par exemple"node-1","node-2","node-3"
.- Apprenez-en plus sur les événements hôtes.
- Apprenez-en plus sur la maintenance de l'hôte sur des nœuds à locataire unique.
- Découvrez comment définir la stratégie de maintenance de l'hôte d'une VM.
- Découvrez comment afficher les opérations de la VM.
- Apprenez-en plus sur la location de VM.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Limites
Simuler des événements de maintenance de l'hôte
Vous pouvez simuler un événement de maintenance sur une VM à l'aide de Google Cloud CLI ou d'une requête API.
Lors de la simulation de l'événement de maintenance de l'hôte, la clé de métadonnées
maintenance-event
de la VM subit les modifications suivantes :Pour interroger la clé de l'événement de maintenance, consultez la section Interroger la clé de métadonnées d'un événement de maintenance.
gcloud
Exécutez la commande
instances simulate-maintenance-event
pour forcer une instance à activer sa règle de maintenance configurée :gcloud compute instances simulate-maintenance-event VM_NAME \ --zone ZONE
Remplacez les éléments suivants :
REST
Dans l'API Compute Engine, envoyez une requête à la méthode
compute.instances.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent
Remplacez les éléments suivants :
Simuler des événements de maintenance de l'hôte sur des nœuds à locataire unique
Vous pouvez simuler un événement de maintenance de l'hôte sur des nœuds à locataire unique à l'aide de Google Cloud CLI ou d'une requête API. Pendant la simulation de l'événement de maintenance de l'hôte sur une VM à locataire unique, la valeur de la clé de métadonnées
maintenance-event
ne change pas et garde la valeurNONE
tout au long de la simulation.gcloud
Exécutez la commande
sole-tenancy node-groups simulate-maintenance-event
pour forcer les nœuds à locataire unique à activer la règle de maintenance configurée :gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \ --nodes=NODE_NAMES \ --zone=ZONE \ --async
Remplacez les éléments suivants :
REST
Dans l'API Compute Engine, envoyez une requête à la méthode
compute.nodeGroups.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent { "nodes": [NODE_NAMES] }
Remplacez les éléments suivants :
Étapes suivantes
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/22 (UTC).
-