Cette page explique comment configurer les instances de machine virtuelle (VM) d'un groupe d'instances géré (MIG) et les méthodes que vous pouvez utiliser pour appliquer la configuration à des VM existantes du groupe.
Vous spécifiez la configuration prévue pour les VM dans un MIG à l'aide des composants de configuration de VM suivants:
- Obligatoire: modèle d'instance
- Facultatif: Configuration de toutes les instances
- Facultatif: Configuration avec état
Chaque fois que vous mettez à jour la configuration prévue à l'aide de ces composants, Compute Engine applique automatiquement votre configuration mise à jour aux nouvelles VM ajoutées au groupe.
Pour appliquer une configuration mise à jour aux VM existantes, utilisez les méthodes décrites sur cette page:
- Déploiements automatiques avec un budget d'interruption et des mises à jour Canary facultatives des nouveaux modèles
- Mises à jour sélectives et manuelles sur des VM spécifiques uniquement, afin de minimiser les perturbations
- Recréer des VM spécifiques
Vous pouvez également configurer votre groupe d'instances géré pour appliquer la dernière configuration disponible aux VM lors des réparations des VM. Pour en savoir plus, consultez la section Appliquer les mises à jour de configuration lors des réparations.
Si vous avez uniquement besoin de redimensionner un groupe d'instances géré, consultez la documentation expliquant comment ajouter ou supprimer des VM dans un MIG. Si vous souhaitez en savoir plus sur la configuration des fonctionnalités de MIG, consultez la documentation sur l'autoscaling, l'autoréparation et l'équilibrage de charge. et les charges de travail avec état.
Avant de commencer
-
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.
- Automatique (proactive): utilisez cette méthode si vous souhaitez que le MIG applique automatiquement de nouvelles configurations à toutes les VM ou au sous-ensemble de VM existantes du groupe. Le niveau de perturbation des VM en cours d'exécution dépend de la règle de mise à jour que vous configurez. Vous pouvez utiliser cette méthode pour mettre à jour les nouveaux modèles d'instances de manière Canary. Pour utiliser cette méthode, définissez le type de mise à jour du MIG sur "proactif".
- Mise à jour sélective (opportuniste) : utilisez cette méthode si vous souhaitez appliquer la mise à jour manuellement ou mettre à jour toutes les VM existantes du groupe simultanément. Vous ciblez tout ou partie des VM à mettre à jour vers la dernière configuration. Pour utiliser cette méthode, définissez le type de mise à jour du MIG sur "Quand l'occasion se présente".
- Recréation de VM: appliquez de nouvelles configurations en recréant des VM spécifiques.
- Le déploiement d'une mise à jour se fait automatiquement selon vos spécifications, sans nécessiter d'action supplémentaire après la requête initiale. Vous pouvez spécifier la vitesse de déploiement, le niveau de perturbation de votre service et le champ d'application de la mise à jour.
- Vous pouvez automatiser des déploiements partiels pour des tests en version Canary.
- Vous pouvez choisir les VM que vous souhaitez mettre à jour.
- Vous pouvez contrôler la planification et la séquence des mises à jour.
- Vous pouvez utiliser la gcloud CLI ou REST pour mettre à jour immédiatement toutes les instances.
L'une des VM de votre MIG est défaillante et doit être réparée, mais vous ne souhaitez pas que sa configuration soit modifiée. Si vous définissez le type de mise à jour du MIG sur opportuniste et que vous ne forcez pas l'application des mises à jour lors des réparations, Compute Engine répare la VM à partir de la même configuration que celle utilisés pour créer cette VM, même si le modèle d'instance d'origine n'existe plus.
Vous disposez d'un MIG avec autoscaling et vous souhaitez appliquer une mise à jour non critique sans urgence. Pour vous assurer que Compute Engine n'arrête pas vos VM existantes pour appliquer la mise à jour, définissez le type de mise à jour du MIG sur opportuniste. Lors d'un scaling vertical, l'autoscaler arrête de préférence les VM avec l'ancienne configuration. Lorsque le groupe effectue un scaling horizontal, il crée des VM avec la dernière configuration.
Dans Google Cloud Console, accédez à la page Groupes d'instances.
Sélectionnez le MIG que vous souhaitez mettre à jour.
En haut de la page, cliquez sur Mettre à jour les VM.
Pour définir un autre modèle pour le groupe, sélectionnez le modèle d'instance que vous souhaitez utiliser sous Nouveau modèle.
Sous Mettre à jour la configuration, sélectionnez la mise à jour automatique ou sélective.
INSTANCE_GROUP_NAME
: nom du groupeNEW_TEMPLATE
: le nom du nouveau modèle du groupeTYPE
: le type de mise à jour,opportunistic
ouproactive
PROJECT_ID
: projet dans lequel le MIG existe.REGION
: région où se trouve le groupe d'instances géré. Pour un groupe d'instances géré zonal, remplacezregions/REGION
parzones/ZONE
.INSTANCE_GROUP_NAME
: nom du groupe.NEW_TEMPLATE
: le nom du nouveau modèle du groupe.TYPE
: le type de mise à jour,OPPORTUNISTIC
ouPROACTIVE
.- Appliquer automatiquement les mises à jour de configuration de VM dans un MIG
- Appliquer de manière sélective les mises à jour de configuration de VM dans un MIG
- VM en cours d'exécution, suspendues et arrêtées
- VM avec état
SUSPENDING
ouSTOPPING
- Il supprime les VM suspendues et arrêtées.
- Crée des VM avec le nouveau modèle d'instance.
- Effectue le processus d'initialisation.
- Suspend ou arrête les VM.
- Réactive ou démarre les VM.
- Effectue la mise à jour sur les VM lorsqu'elles sont en cours d'exécution.
- Effectue le processus d'initialisation.
- Il suspend ou arrête les VM.
- En mode de stratégie de secours
manual
, le MIG ne met à jour que les VM en cours d'exécution en fonction du nombre ou du pourcentage de VM auxquelles vous souhaitez appliquer la mise à jour. Les VM suspendues et arrêtées restent dans les versions précédentes. - En mode de stratégie de secours
scale-out-pool
, vous ne pouvez pas lancer de mise à jour Canary dans le MIG. Vous définissez les deux champs sur la même valeur.
Ceci est une requête valide. Dans ce cas, aucune ambiguïté n'existe et le nouveau modèle d'instance est appliqué au MIG.
Par exemple, dans la requête suivante, le champ de niveau supérieur
instanceTemplate
et le champversions
indiquent un même modèle d'instance qui diffère du modèle actuel et le MIG est donc mis à jour vers le nouveau modèle d'instance :{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Vous définissez les deux champs sur des valeurs qui ne correspondent pas mais une seule valeur est différente du modèle d'instance actuel du MIG.
Ceci est une requête valide. Le champ différent du paramètre actuel est considéré comme la valeur souhaitée. Par exemple, vous appelez la méthode
update()
et fournissez les deux champs, mais un seul champ est mis à jour :{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Vous définissez les deux champs sur des valeurs qui ne correspondent pas et ces deux valeurs sont différentes du modèle d'instance actuel du MIG.
Ce paramètre n'est pas valide et renvoie une erreur, car il n'y a pas d'intention claire.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
- Apprenez-en plus sur le déploiement automatique d'un nouveau modèle d'instance sur un MIG.
- Apprenez-en plus sur la mise à jour sélective de VM dans un MIG.
- Affichez des informations sur votre MIG et ses 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.
Composants de configuration pour les VM d'un MIG
Pour configurer les VM dans un MIG, utilisez les composants suivants:
Composant Propriétés Cas d'utilisation Modèle d'instance Type de machine, image de disque de démarrage, libellés, script de démarrage et autres propriétés de VM Obligatoire: Utilisez un modèle d'instance pour définir les propriétés d'instance obligatoires et facultatives pour toutes les VM du groupe.
Facultatif: Si vous souhaitez tester la deuxième configuration de VM en version Canary, vous pouvez ajouter un deuxième modèle d'instance au groupe et l'appliquer à un sous-ensemble de VM du groupe.Configuration de toutes les instances Libellés et métadonnées (Facultatif) Utilisez une configuration de toutes les instances pour remplacer rapidement les propriétés du modèle d'instance pour toutes les VM du groupe. Configuration avec état Disques avec état, adresses IP et métadonnées Facultatif: Si vous devez gérer une charge de travail avec état, ajoutez une configuration avec état aux VM du groupe. Si vous mettez à jour une configuration pour le groupe via ces composants, vous devez appliquer la configuration mise à jour aux VM existantes du groupe pour que la configuration mise à jour soit effective.
Méthodes d'application d'une nouvelle configuration aux VM existantes
Après avoir mis à jour la configuration des VM d'un MIG, vous pouvez appliquer la nouvelle configuration aux VM existantes du groupe à l'aide des méthodes suivantes:
Pour en savoir plus sur la définition du type de mise à jour d'un MIG, consultez la page Configurer une mise à jour proactive ou opportuniste.
Automatique (proactive)
Un type de mise à jour automatique est également appelé type de mise à jour proactive. Lorsque vous définissez le type de mise à jour du MIG sur de manière proactive, le MIG applique automatiquement les configurations mises à jour aux VM si nécessaire.
Définir le type de mise à jour du MIG sur proactive présente deux avantages principaux :
Pour savoir comment définir le type de mise à jour du MIG, consultez la page Configurer une mise à jour proactive ou opportuniste.
Pour en savoir plus sur les déploiements automatiques, consultez la page Appliquer automatiquement les mises à jour de configuration de VM dans un MIG.
Mise à jour sélective (opportuniste)
Un type de mise à jour sélective est également appelé type de mise à jour opportuniste. Lorsque vous définissez le type de mise à jour du MIG sur le modèle opportuniste, le MIG n'applique les nouvelles configurations aux VM existantes que lorsque vous ciblez de manière sélective des VM spécifiques à mettre à jour.
La définition du type de mise à jour du MIG sur le modèle opportuniste présente les avantages suivants:
Dans certains cas, un type de mise à jour sélective est utile, car il est préférable de ne pas provoquer d'instabilité sur le système si cela peut être évité. Par exemple, s'il s'agit des cas suivants :
Pour savoir comment définir le type de mise à jour du MIG, consultez la page Configurer une mise à jour proactive ou opportuniste.
Pour en savoir plus sur la mise à jour sélective des VM, consultez la page Appliquer de manière sélective les mises à jour de configuration de VM dans un MIG.
Recréation des VM
Vous pouvez recréer n'importe quelle VM dans un MIG. Dans ce cas, le MIG applique toute configuration mise à jour qui n'a pas encore été appliquée à cette VM. Pour plus d'informations, consultez la section Recréer des VM dans un MIG.
Configurer une mise à jour proactive ou opportuniste
Pour appliquer automatiquement de nouvelles configurations aux VM existantes, définissez le type de mise à jour du MIG sur "proactif". Pour appliquer de nouvelles configurations aux VM existantes uniquement lorsque vous sélectionnez une VM à mettre à jour, définissez le type de mise à jour du MIG sur "Quand l'occasion se présente".
Utilisez la console Google Cloud, Google Cloud CLI ou REST.
Console
gcloud
Exécutez la commande
rolling-action start-update
, puis définissez l'option--type
suropportunistic
ouproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
Vous pouvez également utiliser la commande bêta
update
et inclure l'option--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Remplacez les éléments suivants :
REST
Appelez la méthode
patch
pour une ressource de MIG zonal ou régional.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Remplacez les éléments suivants :
Pour en savoir plus sur la configuration d'un nouveau modèle et l'application de ce modèle aux VM nouvelles et existantes d'un MIG, consultez les pages suivantes :
Vérifier le type de règle de mise à jour de votre groupe
Vous pouvez afficher le type de règle de mise à jour de votre MIG actuellement configuré ("opportuniste" ou "proactif") et d'autres paramètres de stratégie de mise à jour à l'aide de gCloud CLI ou de REST.
gcloud
Exécutez la commande
describe
et ajoutez l'option--format
pour ne répertorier que les paramètresupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
REST
Envoyez une requête
GET
sur un MIG zonal ou régional, puis vérifiez le champupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Pour modifier le type de règle, consultez la page Configurer une mise à jour proactive ou opportuniste.
Mises à jour pour les VM suspendues et arrêtées
Si vous avez suspendu et arrêté des pools de VM dans un MIG, vous pouvez mettre à jour de manière sélective (opportuniste) des VM suspendues ou arrêtées, comme vous mettez à jour d'autres VM en cours d'exécution. Si vous configurez des mises à jour automatiques (proactives), le MIG met à jour les VM dans l'ordre suivant:
Pour une mise à jour automatique, le MIG calcule la surutilisation maximale et la limite maximale d'indisponibilité en fonction du nombre cible de VM en cours d'exécution uniquement, et ne prend pas en compte les VM du pool de secours.
Si la mise à jour automatique nécessite le remplacement des VM du groupe, le MIG effectue les opérations suivantes:
Si la mise à jour automatique ne nécessite que l'actualisation ou le redémarrage des VM du groupe, le MIG effectue les opérations suivantes:
Mises à jour Canary
Si vous souhaitez lancer des mises à jour Canary dans un MIG qui a suspendu ou arrêté des VM, les points suivants s'appliquent :
Relation entre les champs
versions
etinstanceTemplate
Si vous utilisez REST, nous vous recommandons d'utiliser les champs
instanceGroupManagers.versions
etregionInstanceGroupManagers.versions
pour configurer des modèles d'instance pour les MIG zonaux et régionaux.Les fonctionnalités de l'ancien champ
instanceTemplate
se recoupent avec le champversions
car les deux champs permettent de spécifier le modèle d'instance que le MIG utilise pour créer des VM. Toutefois, seul le champversions
vous permet de spécifier une configuration (Canary) avancée à deux modèles.Pour assurer la rétrocompatibilité, les MIG continuent d'accepter le champ
instanceTemplate
de premier niveau, même si nous vous recommandons de n'utiliser que le champversions
. L'utilisation simultanée des deux champsinstanceTemplate
etversions
peut entraîner ambiguïté et confusion.Si vous spécifiez à la fois le champ
instanceTemplate
et le champversions
lors de l'appel de la méthodeupdate()
oupatch()
, trois cas sont possibles :Le champ
versions
, le champinstanceTemplate
et la méthodeget()
Si vous ne spécifiez qu'un seul modèle d'instance, via le champ
instanceTemplate
de premier niveau ou via le champversions
ou les deux, la méthodeget()
renvoie les deux champs dans sa réponse. Cela rend le nouveau champversions
rétrocompatible. Tant que vous spécifiez un modèle d'instance unique dans l'un de ces champs, ce que renvoie la méthodeget()
dans le champinstanceTemplate
ne change pas.Si le champ
versions
contient deux modèles d'instance spécifiés, la méthodeget()
renvoie un champinstanceTemplate
de premier niveau vide. Il n'y a aucun moyen d'exprimer sans ambiguïté une configuration Canary à deux modèles d'instance dans un champinstanceTemplate
de premier niveau, et ce champ n'est donc pas utilisé lors d'une mise à jour Canary.Le champ
versions
et la méthodesetInstanceTemplate()
Pour assurer la rétrocompatibilité, la méthode
setInstanceTemplate()
se comporte comme auparavant et vous permet de modifier le modèle utilisé par le MIG pour créer des VM. Lorsque vous appelez cette méthode, le champversions
est remplacé par le modèle d'instance spécifié par la méthodesetInstanceTemplate()
.La méthode
setInstanceTemplate()
définit égalementupdatePolicy
surOPPORTUNISTIC
. Cela empêche le MIG de déployer activement un modèle d'instance qui n'est pas explicitement spécifié dans le champversions
.Étape suivante
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).
-