Travailler avec des instances gérées

Un groupe d'instances géré (MIG) crée chacune de ses instances gérées en fonction des composants de configuration que vous utilisez : modèle d'instance, configuration facultative sur toutes les instances et configuration avec état facultative.

Chaque instance gérée est une entité de données qui représente l'état souhaité d'une instance de machine virtuelle (VM) actuelle dans un MIG.

Lisez ce document pour savoir comment utiliser de manière fiable les instances gérées d'un MIG. Par exemple, vous devrez peut-être ajouter, supprimer ou mettre à jour une instance spécifique, ou bien obtenir des informations s'y rapportant.

Pour vous assurer que les modifications apportées à votre configuration ne sont pas annulées par le MIG, il est important d'utiliser les méthodes décrites dans ce document. Si vous travaillez en dehors des méthodes du groupe pour modifier les VM d'un MIG, celui-ci peut ou non détecter que ces VM n'utilisent plus la configuration prévue du groupe et vous risquez d'obtenir des résultats inattendus. Par exemple, si vous supprimez ou mettez à jour une VM dans un MIG à l'aide de l'API des instances au lieu de l'API requise, celle du gestionnaire de groupe d'instances, le MIG ne va pas connaître votre intent. Par la suite, le MIG peut alors à tout moment tenter automatiquement de recréer ou de rétablir cette VM en fonction de la configuration du MIG.

Avant de commencer

Qu'est-ce qu'une instance gérée ?

Une instance gérée est une entité de données dans un MIG qui contient l'état actuel et l'état souhaité d'une instance de VM,

L'état actuel d'une instance gérée inclut les champs suivants :

  • l'état du cycle de vie de l'instance, par exemple : RUNNING, STOPPING ;
  • l'action actuelle réalisée par le MIG sur une instance, par exemple : RESTARTING, VERIFYING, NONE ;
  • l'état de santé de l'instance, par exemple : HEALTHY, UNHEALTHY.

Pour une instance de VM réelle, l'état souhaité d'une instance gérée inclut les éléments suivants :

  • la version souhaitée, c'est-à-dire le nom de version et le modèle d'instance à utiliser pour l'instance ;
  • l'état préservé des éléments (tels que les disques ou les métadonnées) à conserver.

Comme le montre la Figure 1, pour chaque instance gérée d'un MIG, celui-ci maintient une VM réelle opérationnelle en fonction de la spécification de l'instance gérée.

En fonction de votre configuration, le MIG génère automatiquement des instances gérées, qui correspondent aux instances de VM réelles qu'un MIG conserve en votre nom.

Figure 1 : Relation entre les instances gérées et les VM correspondantes.

Pour afficher les spécifications d'une instance gérée, consultez la section Obtenir des informations sur les instances de VM gérées dans un MIG.

Ajouter des instances à un MIG;instances géré

Pour ajouter des instances à un MIG, vous pouvez effectuer les opérations suivantes :

Pour vérifier que les instances nouvellement ajoutées fonctionnent correctement, vérifiez l'état du groupe ou vérifiez l'état des instances gérées.

Définir manuellement la taille du MIG

Si l'autoscaling n'est pas déjà configuré pour un groupe d'instances géré, vous pouvez définir manuellement la taille du groupe afin de modifier le nombre d'instances qui le composent. Pour en savoir plus, consultez Redimensionner manuellement un MIG.

Utiliser des requêtes de redimensionnement pour créer plusieurs VM à la fois

Vous pouvez utiliser des demandes de redimensionnement pour ajouter simultanément des VM avec GPU à un MIG. Cette fonctionnalité vous permet d'éviter les frais liés à la capacité partielle pendant que Compute Engine provisionne toutes les ressources. Les requêtes de redimensionnement de MIG utilisent les modèles de provisionnement à démarrage flexible ou lié à une réservation. Ces modèles vous permettent d'obtenir des processeurs virtuels et des GPU à prix réduit. Pour en savoir plus, consultez À propos des requêtes de redimensionnement dans un MIG.

Utiliser l'autoscaling pour les applications sans état

Vous pouvez configurer des groupes d'instances gérés pour qu'ils ajoutent ou suppriment automatiquement des instances en fonction de leurs charges de travail. Cela permet à vos applications de gérer de façon optimale les hausses de trafic. En outre, cela vous permet de réduire les coûts lorsque vos besoins en ressources de calcul sont moins importants. Pour en savoir plus sur le scaling automatique de votre groupe d'instances géré, consultez la page Procéder à l'autoscaling de groupes d'instances.

Ajouter des instances avec des noms spécifiques

Si votre charge de travail ou votre système d'orchestration nécessitent des noms d'instance spécifiques, vous pouvez ajouter des instances portant ces noms à un MIG existant. Les noms que vous attribuez à ces instances sont conservés si le MIG les recrée.

En fonction de la façon dont vous souhaitez ajouter des instances avec des noms spécifiques à un MIG, utilisez l'une des méthodes suivantes :

Mettre à jour la configuration d'une VM dans un MIG

Si vous devez modifier la configuration des VM d'un MIG, par exemple pour modifier le disque de démarrage ou le type de machine, ajouter des disques ou modifier d'autres propriétés de la VM, consultez la section Mettre à jour la configuration d'une VM dans un groupe d'instances géré.

Supprimer des instances d'un MIG

Lorsque vous supprimez des instances gérées, le groupe d'instances géré réduit la valeur targetSize spécifiée pour le groupe et supprime les instances de VM correspondantes.

Si vous configurez un MIG avec état, celui-ci supprime les configurations d'état conservées des instances. Le groupe d'instances géré supprime également les instances de tous les pools cibles auxquelles elles appartiennent.

Si le groupe fait partie d'un service de backend sur lequel le drainage de connexion est activé, le retrait ou la suppression de l'instance de VM peut prendre jusqu'à 60 secondes après la fin de la période de drainage.

Pour supprimer une instance gérée, procédez comme suit :

Facteurs ayant une incidence sur la suppression des instances de VM

Lorsqu'un MIG est réduit, que ce soit automatiquement par un autoscaler ou manuellement en redimensionnant le groupe, il hiérarchise les instances à supprimer en fonction de plusieurs facteurs, dont les suivants. Une fois que le MIG a identifié les instances prioritaires, il sélectionne les instances à supprimer de manière non déterministe.

  • État de l'instance : instances qui ne sont pas en cours d'exécution pour une raison quelconque (par exemple, les instances qui sont arrêtées ou suspendues).

  • Modifications perturbatrices : instances en cours ou planifiées pour effectuer des modifications perturbatrices (par exemple, création, suppression, actualisation, recréation ou remplacement).

  • Version de la configuration de l'instance : instances qui ne sont pas encore mises à jour vers la dernière version prévue du modèle d'instance.

  • Forme de distribution cible : dans les MIG régionaux, instances qui permettent de maintenir ou d'atteindre la forme de distribution cible souhaitée dans les zones.

  • Signal d'autoscaling : dans les MIG à autoscaling, instances présentant le signal d'autoscaling le plus faible. Par exemple, si un MIG est configuré pour effectuer un scaling en fonction de l'utilisation du processeur, il donne la priorité aux instances qui présentent le niveau d'utilisation du processeur le plus faible.

Le MIG tient compte de ces facteurs pour sélectionner les instances les plus appropriées à supprimer tout en respectant les exigences de disponibilité et de distribution du groupe.

Recréer des instances dans un MIG;instances géré

Utilisez cette méthode pour mettre à jour les VM sélectionnées afin qu'elles utilisent les derniers composants de configuration de VM du groupe. Si vous devez recréer toutes les VM d'un groupe d'instances géré, lancez plutôt une mise à jour progressive.

Si le groupe fait partie d'un service de backend sur lequel le drainage de connexion est activé, le retrait ou la suppression de l'instance de VM peut prendre jusqu'à 60 secondes après la fin de la période de drainage.

Recréez les instances de VM sélectionnées dans un groupe d'instances géré à l'aide de la gcloud CLI ou de REST.

gcloud

Utilisez la commande instance-groups managed recreate-instances.

gcloud compute instance-groups managed recreate-instances INSTANCE_GROUP_NAME \
    --instances INSTANCE_NAME_1,INSTANCE_NAME_2 \
    [--region REGION | --zone ZONE]

REST

Dans l'API, envoyez une requête POST à la méthode regionInstanceGroupManagers.recreateInstances. Pour un groupe d'instances géré zonal, utilisez la méthode instanceGroupManagers.recreateInstances.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/recreateInstances

{
 "instances": [
  "zones/ZONE/instances/INSTANCE_NAME_1",
  "zones/ZONE/instances/INSTANCE_NAME_2"
 ]
}

Une fois votre requête de recréation d'instances de VM dans un groupe d'instances géré envoyée, les nouvelles VM démarrent dès que le système est en mesure de les provisionner. Ce processus peut prendre un certain temps selon le nombre d'instances que vous recréez. Vérifiez l'état du groupe ou vérifiez l'état des instances gérées.

L'opération de recréation conserve le nom de l'instance de VM, mais l'horodatage de création de l'instance peut ne pas changer. Pour confirmer que l'opération de recréation a créé une instance lorsque l'horodatage de création de l'instance n'a pas changé, vérifiez l'horodatage de création du disque de démarrage associé à cette instance.

Afficher des informations sur les instances d'un MIG

Reportez-vous à la section Obtenir des informations sur les instances gérées d'un groupe d'instances géré.

Configurer des instances avec état dans un MIG

Consultez la page Configurer des groupes d'instances gérés avec état.

Étapes suivantes