Cette page explique comment tester les effets de la stratégie de maintenance de l'hôte de votre instance Compute Engine sur vos applications.
Vous pouvez simuler un événement de maintenance sur vos VM pour tester les éléments suivants:
- les effets de la migration à chaud sur vos applications ;
- La manière dont vos applications et tâches par lot gèrent la préemption et l'arrêt lorsqu'elles utilisent une ou plusieurs VM Spot.
- La manière dont vos applications gèrent le processus d'arrêt et de redémarrage des instances configurées pour s'arrêter et redémarrer lors des événements de maintenance plutôt que de migrer à chaud.
- 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 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.
Si vous essayez de simuler un événement de maintenance de l'hôte sur une instance qui n'est pas compatible avec la migration à chaud, elle est soit arrêtée, soit redémarrée, en fonction de la règle de maintenance de l'hôte configurée.
Avant de commencer
- Consultez la limite de débit de l'API régionale pour
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion
. -
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 en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Pour simuler correctement un événement de maintenance sur un groupe de nœuds à locataire unique 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.
- Pour un groupe de nœuds à locataire unique, lorsque vous essayez de simuler un événement de maintenance de l'hôte et que la stratégie de maintenance de l'hôte du groupe de nœuds est définie sur "migrer dans le groupe de nœuds" :
- Si le nombre de nœuds spécifié est inférieur ou égal au nombre total de nœuds réservés, la simulation des événements de maintenance de l'hôte s'exécute simultanément pour tous les nœuds spécifiés.
- Si le nombre de nœuds spécifié est supérieur au nombre total de nœuds réservés, la simulation échoue.
- Le nombre de simulations d'événements de maintenance que vous pouvez démarrer par minute et par région est limité par la limite de débit de l'API pour la métrique
simulate_maintenance_event_requests_per_region
. - 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
. INSTANCE_NAME
: nom de l'instance de calcul 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'instancePROJECT_ID
: ID du projet pour cette requête.INSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez simuler l'événement de maintenance.ZONE
: zone où se trouve l'instanceUtilisez la commande
compute instances simulate-maintenance-event
pour simuler un événement de maintenance pour une instance et tester ses paramètres de règle de maintenance de l'hôte configurés. Vous pouvez également inclure l'option--with-extended-notifications
.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance de calcul 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'instance
Facultatif: Pour démarrer manuellement l'événement de maintenance simulé, utilisez la commande
compute instances perform-maintenance
.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance de calcul 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 trouvent les instances.
Envoyez une requête
POST
à la méthodecompute.instances.simulateMaintenanceEvent
. Vous pouvez également inclure le paramètre de requêtewithExtendedNotifications
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requête.INSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez simuler l'événement de maintenance.ZONE
: zone où se trouve l'instance
Facultatif: Pour démarrer manuellement l'événement de maintenance simulé, créez une requête
POST
à la méthodecompute.instances.performMaintenance
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance de calcul sur laquelle vous souhaitez démarrer l'événement de maintenance.Vous pouvez spécifier plusieurs noms d'instance séparés par des espaces pour effectuer 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 trouvent les instances.
NODE_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 les options de stratégie de maintenance de l'hôte de VM.
- Découvrez comment afficher les opérations de la VM.
- En savoir plus sur la mutualisation et la location unique
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 pour tester la migration à chaud
Vous pouvez simuler un événement de maintenance pour une instance de calcul à l'aide de Google Cloud CLI ou d'une requête API. Cet événement simulé inclut les différentes activités de maintenance qui se produisent dans un événement de maintenance régulier. Vous pouvez ainsi observer le processus de bout en bout et tester toute automatisation que vous avez peut-être implémentée.
Lors de la simulation de l'événement de maintenance de l'hôte pour une instance qui utilise la migration à chaud, la clé de métadonnées
maintenance-event
de l'instance 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
Utilisez la commande
compute instances simulate-maintenance-event
pour simuler un événement de maintenance pour une instance et tester les paramètres de la règle de maintenance de l'hôte configurés:gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Remplacez les éléments suivants :
REST
Envoyez une requête
POST
à la méthodecompute.instances.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
Remplacez les éléments suivants :
Simuler la maintenance de l'hôte pour les instances de calcul qui s'arrêtent
Vous pouvez simuler un événement de maintenance pour une instance de calcul à l'aide de Google Cloud CLI ou d'une requête API. Cet événement simulé inclut les différentes activités de maintenance qui se produisent dans un événement de maintenance régulier. Vous pouvez ainsi observer le processus de bout en bout et tester toute automatisation que vous avez peut-être implémentée.
De plus, en utilisant le paramètre
--with-extended-notifications
avec un type de machine compatible, vous pouvez tester le démarrage manuel de la maintenance de l'hôte lors de l'événement simulé.gcloud
REST
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
Envoyez une requête
POST
à la méthodecompute.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/12/22 (UTC).
-