Application, affichage et suppression d'une configuration avec état dans les groupes d'instances gérés


Après avoir créé ou mis à jour une configuration avec état pour un groupe d'instances géré (MIG) avec état, vous pouvez :

  • appliquer la configuration avec état pour qu'elle soit prise en compte ;
  • afficher la configuration avec état, ainsi que l'état préservé effectif de vos instances gérées ;
  • supprimer la configuration avec état.

Avant de commencer

  • Revoyez les pages expliquant dans quels cas utiliser des MIG avec état et le fonctionnement des MIG avec état.
  • 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

Appliquer une configuration avec état aux instances gérées

Votre configuration avec état devient effective après que vous ou le MIG l'avez appliquée.

  • Les modifications de configuration d'une règle avec état sont automatiquement appliquées à toutes les instances gérées.
  • Les modifications d'une configuration par instance peuvent être appliquées manuellement ou automatiquement.

Pour obtenir plus d'informations conceptuelles, consultez la page Comment la configuration avec état est appliquée aux instances gérées.

Appliquer la configuration à partir d'une règle avec état

Toutes les modifications de configuration d'une règle avec état sont automatiquement appliquées à toutes les instances gérées. Les mises à jour d'une règle avec état n'interrompent pas l'exécution des instances de machine virtuelle (VM).

Vérifier si une règle avec état a été appliquée

Vérifier toutes les VM

Vérifiez si les modifications apportées à une règle avec état ont été appliquées à toutes les VM en vérifiant si le MIG est devenu stable après les modifications.

Vérifier des VM spécifiques

Vérifiez si les modifications apportées à la règle avec état ont été appliquées à une VM spécifique dans un MIG. Pour cela, affichez l'état préservé de l'instance gérée et vérifiez si tous les disques de la règle avec état sont présents dans preservedStateFromPolicy ou preservedStateFromConfig pour l'instance gérée.

Appliquer une configuration avec état à partir de configurations par instance

L'application de nouvelles configurations par instance, ou de configurations par instance mises à jour, peut s'effectuer manuellement ou automatiquement. Vous allez utiliser l'une des approches suivantes :

  • Appliquer de manière sélective des configurations mises à jour à des instances spécifiques : cette approche permet de contrôler la perturbation, la planification et la séquence des mises à jour.
  • Appliquer automatiquement les configurations mises à jour avec des mises à jour progressives : utilisez cette approche pour appliquer les modifications de configuration aux instances gérées de manière progressive et automatisée.

Ces deux méthodes appliquent les mises à jour en attente au niveau des configurations par instance et des champs versions ou instanceTemplate, le cas échéant.

Appliquer de manière sélective une configuration mise à jour à des instances spécifiques

Pour appliquer manuellement des configurations par instance à des instances spécifiques, procédez comme suit :

  1. Configurez une règle de mise à jour opportuniste afin d'éviter tout conflit avec les mises à jour proactives automatiques.
  2. Créer ou mettre à jour les configurations par instance
  3. Appliquez les configurations mises à jour à des VM spécifiques en mettant à jour de manière sélective ces VM.

Vous pouvez également utiliser les approches suivantes :

  • Lors de la création ou de la mise à jour d'une configuration par instance avec gcloud CLI, utilisez l'option --update-instance pour appliquer immédiatement la configuration à l'instance gérée associée.
  • Lorsque vous créez manuellement des instances, spécifiez leurs noms et configurations par instance au moment de la création. Le MIG applique immédiatement les configurations lors de la création de la VM.

Appliquer automatiquement une configuration mise à jour avec des mises à jour progressives

Configurez des mises à jour progressives proactives pour que votre MIG applique automatiquement les mises à jour de configuration aux instances gérées correspondantes, de manière progressive.

Les MIG avec état nécessitent la configuration suivante pour une règle de mise à jour proactive :

Cette configuration garantit que le MIG recrée les instances avec état existantes et ne les remplace pas par des instances différentes.

Vous pouvez également vous assurer que les modifications apportées aux configurations par instance sont appliquées sans arrêter d'instances, si possible, en définissant l'action minimale sur REFRESH dans la stratégie de mise à jour du groupe.

Vérifier si des configurations par instance ont été appliquées

Vérifier toutes les configurations par instance

Pour vérifier si toutes les configurations par instance d'un MIG ont été appliquées, affichez l'état du MIG et vérifiez la définition du champ status.stateful.perInstanceConfigs.allEffective :

  • true : toutes les configurations par instance du groupe ont été appliquées et sont effectives, ou le groupe ne dispose d'aucune configuration par instance.
  • false : le groupe comporte au moins une configuration par instance qui n'est pas encore effective : vous ne l'avez pas encore appliquée ou elle est en cours d'application.

Vérifier une configuration par instance spécifique

Pour vérifier si les modifications d'une configuration par instance spécifique ont été appliquées à la VM correspondante, affichez toutes les configurations par instance et vérifiez le champ status de la configuration par instance concernée :

  • UNAPPLIED : la configuration par instance a été créée ou mise à jour et vous devez l'appliquer à la VM avec une mise à jour manuelle de l'instance.
  • APPLYING : le MIG applique actuellement à la VM la nouvelle configuration par instance, ou celle mise à jour.
  • EFFECTIVE : la configuration par instance a bien été appliquée à la VM et est effective.
  • UNAPPLIED_DELETION : la configuration par instance est définie pour être supprimée. Vous devez appliquer cette mise à jour à la VM avec une mise à jour manuelle de l'instance pour qu'elle soit prise en compte.
  • DELETING : la configuration par instance est en cours de suppression et la modification est appliquée à la VM.

Afficher la configuration avec état et l'état préservé

Obtenez des informations sur vos MIG avec état pour les tâches suivantes :

  • Vérifier si un MIG dispose d'une configuration avec état et si cette configuration est appliquée et efficace.
  • Afficher la configuration avec état, commune à toutes les instances du MIG, stockée dans la règle avec état.
  • Afficher la configuration avec état spécifique à des instances individuelles, stockée dans des configurations par instance, et vérifier si cette configuration est appliquée et efficace.
  • Afficher l'état préservé effectif de chaque instance dans un MIG basé sur sa règle avec état et les configurations par instance appliquées.

Afficher l'état de la configuration avec état d'un MIG

Un MIG est considéré comme avec état s'il possède une configuration avec état, c'est-à-dire soit une règle avec état, soit au moins une configuration par instance non vide.

Si vous créez une règle avec état, le MIG l'applique automatiquement pour la rendre effective. Si vous créez des configurations par instance, vous pouvez décider de les appliquer ultérieurement.

Pour vérifier si un MIG dispose d'une configuration avec état et si toutes les configurations par instance sont appliquées, affichez l'état du MIG à l'aide de gcloud CLI ou de REST.

gcloud

Pour vérifier si un MIG dispose d'une configuration avec état, affichez son état en exécutant la commande gcloud compute instance-groups managed describe. Par exemple :

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

Dans ce résultat :

  • hasStatefulConfig :
    • true : le groupe possède une configuration avec état, c'est-à-dire que le groupe dispose d'une règle avec état non vide ou au moins une configuration par instance non vide.
    • false : aucune configuration avec état n'existe.
  • perInstanceConfigs.allEffective :
    • true : toutes les configurations par instance du groupe ont été appliquées et sont effectives, ou le groupe ne dispose d'aucune configuration par instance.
    • false : le groupe comporte au moins une configuration par instance qui n'est pas encore effective : vous ne l'avez pas encore appliquée ou elle est en cours d'application.

REST

Pour vérifier si un MIG a une configuration avec état, utilisez la méthode instanceGroupManagers.get ou regionInstanceGroupManagers.get, puis vérifiez le champ status.stateful. Par exemple :

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

La méthode renvoie l'objet instanceGroupManagers :

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

Dans ce résultat :

  • hasStatefulConfig :
    • true : le groupe possède une configuration avec état, c'est-à-dire que le groupe dispose d'une règle avec état non vide ou au moins une configuration par instance non vide.
    • false : aucune configuration avec état n'existe.
  • perInstanceConfigs.allEffective :
    • true : toutes les configurations par instance du groupe ont été appliquées et sont effectives, ou le groupe ne dispose d'aucune configuration par instance.
    • false : le groupe comporte au moins une configuration par instance qui n'est pas encore effective : vous ne l'avez pas encore appliquée ou elle est en cours d'application.

Afficher la règle avec état d'un MIG

Affichez les règles avec état d'un MIG en vérifiant les détails du groupe à l'aide de la console Google Cloud, de gcloud CLI ou de REST.

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur le nom du groupe d'instances dont vous souhaitez afficher la règle avec état.

  3. Accédez à l'onglet Détails.

  4. Sous Ressources avec état, toutes les ressources de la règle avec état sont répertoriées.

gcloud

Pour afficher la règle avec état d'un MIG, exécutez la commande gcloud compute instance-groups managed describe. Par exemple :

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Pour afficher la règle avec état d'un MIG, utilisez la méthode instanceGroupManagers.get ou regionInstanceGroupManagers.get et vérifiez le champ statefulPolicy. Par exemple :

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

La méthode renvoie l'objet instanceGroupManagers :

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Afficher les configurations par instance d'un MIG

Affichez les configurations par instance en répertoriant toutes les configurations par instance d'un MIG. Utilisez gcloud CLI ou REST.

Si vous décidez d'appliquer manuellement des configurations par instance, certaines configurations par instance peuvent ne pas encore être appliquées aux instances associées. Par conséquent, les états préservés des instances peuvent ne pas refléter vos configurations par instance. Pour plus d'informations, consultez les sections Appliquer des configurations par instance et Vérifier si des configurations par instance ont été appliquées.

gcloud

Répertoriez toutes les configurations par instance dans un MIG en exécutant la commande gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Remplacez les éléments suivants :

  • NAME : nom d'un groupe d'instances géré dont vous souhaitez répertorier les configurations par instance

Filtrez la liste à l'aide de l'indicateur --filter standard.

Par exemple, pour répertorier toutes les configurations par instance dans example-group :

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Répertoriez toutes les configurations par instance dans un MIG en appelant la méthode instanceGroupManagers.listPerInstanceConfigs ou regionInstanceGroupManagers.listPerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour la requête.
  • ZONE : zone où se trouve le MIG (s'applique à un MIG zonal).
    • Pour un MIG régional, remplacez zones/ZONE par regions/REGION et spécifiez la région du MIG.
  • NAME : nom d'un groupe d'instances géré dont vous souhaitez répertorier les configurations par instance

Par exemple, pour répertorier toutes les configurations par instance dans example-group :

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

La méthode renvoie la liste des configurations par instance du groupe :

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Afficher les états préservés des instances gérées

Lorsque la configuration avec état est appliquée, le MIG génère et définit l'état préservé effectif de chaque instance gérée dans deux champs :

  • preservedStateFromPolicy : contient l'état préservé généré sur la base d'une règle avec état, à l'exclusion de toute configuration avec état remplacée par des configurations par instance.
  • preservedStateFromConfig : contient l'état préservé généré sur la base d'une configuration par instance déjà appliquée à l'instance gérée.

Pour voir l'état préservé effectif de chaque instance gérée dans un MIG, répertoriez les instances gérées en utilisant gcloud CLI ou de REST.

gcloud

Vérifiez quelles instances gérées ont conservé leur état à l'aide de la commande gcloud compute instance-groups managed list-instances et des valeurs affichées dans la colonne PRESERVED_STATE. Par exemple :

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

La colonne PRESERVED_STATE peut contenir les valeurs suivantes :

  • POLICY : l'instance gérée a conservé l'état en fonction d'une règle avec état.
  • CONFIG : l'instance gérée a conservé son état en fonction d'une configuration par instance.
  • Aucune valeur : l'instance de gestion n'a pas d'état préservé et est sans état.

Affichez l'état préservé d'une instance gérée spécifique en exécutant la commande gcloud compute instance-groups managed describe-instance.

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom d'un MIG
  • INSTANCE_NAME : nom d'une instance gérée dans le groupe

Par exemple, pour afficher l'état préservé de l'instance gérée node-1 dans example-group, exécutez la commande suivante :

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Répertoriez les instances gérées pour afficher l'état préservé de chaque instance en appelant la méthode instanceGroupManagers.listManagedInstances ou regionInstanceGroupManagers.listManagedInstances.

Par exemple, pour répertorier toutes les instances gérées :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

La méthode renvoie la liste des instances gérées du groupe, qui contient des informations sur leurs états préservés :

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Afficher les ressources d'adresse IP statique associées

Pour récupérer les adresses IP statiques (ressources Address) attribuées aux instances gérées d'un MIG, affichez les états préservés de ces instances. Vous pouvez afficher les adresses statiques dans les champs ipAddress.address.

Si un MIG ou les instances n'existent plus, mais que les réservations d'adresses IP existent toujours, vous pouvez répertorier les réservations d'adresses internes ou externes.

Supprimer la configuration avec état

La suppression de la configuration avec état est utile dans les scénarios suivants :

  • Vous avez migré des VM autonomes vers un MIG avec état et souhaitez maintenant déplacer la configuration avec état des configurations par instance vers une règle avec état commune.
  • Vous avez redéfini l'architecture de votre charge de travail et n'avez plus besoin de conserver un état sur les instances de VM.
  • Vous avez créé une configuration avec état à des fins de test et vous souhaitez maintenant la nettoyer.

Cette section explique comment supprimer complètement une règle avec état sur une configuration par instance. Si vous ne devez supprimer qu'un sous-ensemble d'une règle avec état ou d'une configuration par instance, consultez les sections suivantes :

Supprimer une règle avec état

Lorsque vous supprimez une règle avec état, vous affectez toutes les VM d'un MIG. Le MIG traite toutes les ressources avec état configurées dans la règle avec état comme étant sans état, sauf si elles sont également configurées dans des configurations par instance pour des instances individuelles. Lors d'opérations de recréation, d'autoréparation ou de mise à jour d'instances ultérieures, les ressources désormais sans état peuvent perdre leur état :

  • Les disques peuvent être supprimés et recréés à partir de la source, qui est définie dans le modèle d'instance.
  • Les adresses IP peuvent changer.

Pour en savoir plus, consultez la section Comment la suppression d'une ressource d'une règle avec état affecte l'état préservé.

gcloud

Pour supprimer toutes les configurations d'une règle avec état, exécutez la commande gcloud compute instance-groups managed update avec les options applicables. Les options applicables sont les suivantes :

  • --remove-stateful-disks, et répertoriez les noms des appareils de tous les disques avec état configurés.
  • --remove-stateful-internal-ips, et répertoriez les noms des interfaces réseau de toutes les adresses IP internes avec état configurées.
  • --remove-stateful-external-ips, et répertoriez les noms des interfaces réseau de toutes les adresses IP externes avec état configurées.

Par exemple, si votre règle avec état contient la configuration de deux disques avec état avec des noms d'appareils data-disk et logs-disk, et contient la configuration des adresses IP internes et externes avec état dans l'interface réseau nic0, exécutez la commande suivante pour supprimer la règle :

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

Le MIG supprime de sa règle avec état la configuration avec état de data-disk et logs-disk, ainsi que la configuration des adresses IP internes et externes avec état pour l'interface réseau nic0. Par conséquent, le MIG supprime automatiquement et de manière asynchrone ces disques et adresses IP statiques des états préservés de toutes les instances gérées du groupe, sauf si les disques ou les adresses IP sont également configurés dans les configurations par instance.

REST

Pour supprimer toutes les configurations d'une règle avec état, définissez le champ statefulPolicy sur null à l'aide de la méthode instanceGroupManagers.patch ou regionInstanceGroupManagers.patch. .

Par exemple, l'appel suivant supprime la configuration de règles avec état :

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

{
  "statefulPolicy": null
}

Le MIG efface la configuration des règles avec état et supprime automatiquement et de manière asynchrone les ressources avec état des états préservés de toutes les instances gérées du groupe, sauf si elles sont également configurées dans des configurations par instance.

Supprimer une configuration avec état pour une VM spécifique

La suppression de la configuration avec état pour une VM spécifique s'effectue en deux étapes :

  1. Supprimer la configuration par instance associée.
  2. Appliquer la modification à l'instance gérée. Vous pouvez choisir d'appliquer la modification manuellement ou automatiquement.

Une fois la modification appliquée, tous les éléments avec état précédemment configurés dans la configuration par instance sont désormais considérés comme sans état, sauf s'ils sont également configurés dans la règle avec état du groupe. Lorsque la VM est ensuite recréée ou mise à jour, l'état des éléments est perdu :

  • Les disques peuvent être dissociés ou recréés à partir de leur source dans le modèle d'instance.
  • Les métadonnées sont supprimées ou réinitialisées sur les valeurs définies dans le modèle d'instance.
  • Les adresses IP peuvent changer.

Pour plus d'informations, consultez la section En quoi la suppression des éléments des configurations par instance affecte l'état préservé.

gcloud

Pour supprimer complètement la configuration par instance, exécutez la commande gcloud compute instance-groups managed instance-configs delete.

Utilisez l'option facultative --update-instance pour appliquer immédiatement les modifications à l'instance (valeur par défaut). Si vous définissez l'indicateur --no-update-instance, les modifications seront appliquées lors de la prochaine recréation ou mise à jour de l'instance.

L'indicateur --instance-update-minimal-action ne peut être utilisé qu'avec l'indicateur --update-instance.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • INSTANCE_NAME : noms des instances pour lesquelles supprimer des configurations par instance.
  • MINIMAL_ACTION : action minimale à effectuer lors de l'application de la mise à jour de la configuration par instance à la VM. Cette valeur doit correspondre à l'un des éléments suivants :
    • none : aucune action.
    • refresh : appliquer les mises à jour qu'il est possible d'appliquer sans arrêter la VM.
    • restart : arrêter la VM, puis la redémarrer.
    • replace : recréer la VM.

Par exemple, pour supprimer la configuration par instance de node-1 dans example-group, exécutez la commande suivante :

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

Le MIG supprime la configuration par instance pour node-1. Étant donné que la VM a été mise à jour et que les modifications de configuration ont été appliquées, le MIG ne traite plus ces éléments précédemment avec état comme étant avec état.

REST

Pour supprimer complètement la configuration par instance pour une ou plusieurs instances, utilisez la méthode instanceGroupManagers.deletePerInstanceConfigs ou regionInstanceGroupManagers.deletePerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour la requête.
  • ZONE : zone où se trouve le MIG (s'applique à un MIG zonal).
    • Pour un MIG régional, remplacez zones/ZONE par regions/REGION et spécifiez la région du MIG.
  • INSTANCE_GROUP_NAME : nom du MIG
  • INSTANCE_NAME : noms des instances pour lesquelles supprimer des configurations par instance.

La méthode deletePerInstanceConfig supprime les configurations par instance spécifiées, mais n'applique pas les modifications aux VM associées. Les modifications sont appliquées à une VM lorsque vous recréez ou mettez à jour l'instance. Mettez à jour les VM sélectionnées manuellement pour appliquer les modifications.

Par exemple, pour supprimer la configuration par instance de node-1 dans example-group, appelez la méthode suivante :

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

La méthode supprime la configuration par instance de l'instance node-1 de example-group. La modification sera appliquée à l'instance gérée lors de la recréation ou de la mise à jour de l'instance.

Pour appliquer la modification de configuration, appelez la méthode instanceGroupManagers.applyUpdatesToInstances :

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

La méthode supprime les éléments avec état de l'état préservé de l'instance gérée.

Votre avis

Nous souhaitons en savoir plus sur vos cas d'utilisation, les défis que vous rencontrez ou vos impressions sur les MIG avec état. Nous vous invitons à nous faire part de vos commentaires à l'adresse suivante : mig-discuss@google.com.

Étape suivante