Un groupe d'instances géré avec état (MIG avec état) conserve l'état unique de chaque instance de machine virtuelle (VM), y compris le nom de la VM, les disques persistants associés, les adresses IP et/ou les métadonnées, lors du redémarrage, de la recréation, de l'autoréparation ou de la mise à jour de la machine.
Cette page explique comment fonctionnent les MIG avec état. Consultez la page Configurer des groupes d'instances gérés (MIG) avec état pour savoir comment configurer un MIG avec état.
Présentation du fonctionnement des MIG avec état
Un MIG est considéré comme étant avec état si vous avez créé une configuration avec état.
Vous créez une configuration avec état en définissant une règle avec état non vide et/ou une ou plusieurs configurations par instance non vides :
- Une règle avec état définit les éléments que vous souhaitez conserver pour toutes les instances de votre MIG.
- Une configuration par instance définit les éléments à conserver pour une instance de VM spécifique.
La configuration devient effective après que vous ou le MIG l'avez appliquée :
- Un MIG applique automatiquement votre configuration de règle avec état aux instances nouvelles et existantes.
- Lorsque vous créez ou mettez à jour des configurations par instance, vous pouvez choisir d'appliquer la nouvelle configuration manuellement ou automatiquement.
Une fois la configuration avec état (règle avec état et/ou configurations par instance) appliquée, vous pouvez la vérifier en inspectant l'état préservé de chaque instance gérée.
Les modifications apportées ultérieurement à la configuration avec état ou à la taille de votre groupe d'instances géré (par exemple, la diminution de sa taille, ou la suppression ou l'abandon d'instances) peuvent affecter les états conservés des instances.
Comment la configuration avec état est appliquée aux instances gérées
Votre configuration avec état devient effective après que vous ou le MIG l'avez appliquée. L'application de la configuration avec état aux instances d'un MIG dépend de la configuration :
- Règle avec état : le MIG applique automatiquement votre configuration de règle avec état aux instances nouvelles et existantes.
- Configurations par instance : lorsque vous créez ou mettez à jour des configurations par instance, vous pouvez choisir d'appliquer la nouvelle configuration manuellement ou automatiquement.
Comment les mises à jour de règles avec état sont appliquées aux instances
Lorsque vous créez ou mettez à jour une règle avec état (par exemple, en ajoutant ou en supprimant un disque avec état), le MIG applique automatiquement et de manière asynchrone la configuration de votre règle avec état à toutes les instances gérées du groupe. Un MIG applique également automatiquement la configuration de votre règle avec état aux nouvelles instances lors de leur création, par exemple lorsque vous augmentez la taille d'un MIG ou lorsque vous créez manuellement des instances dans le MIG.
Une fois la configuration appliquée, vous pouvez voir l'effet de la mise à jour dans l'état préservé de la règle de chaque instance gérée.
Les mises à jour d'une règle avec état n'interrompent pas l'exécution des VM.
Lorsque vous mettez à jour une règle avec état pour ajouter un disque avec état, le MIG met à jour chaque ressource de VM, en modifiant la valeur de l'option autoDelete
du disque (instances.disks[].autoDelete
) :
- Le MIG définit
autoDelete
surFALSE
pour les disques que vous configurez avec un état. Cela empêche la suppression de ce disque lors de la recréation d'une instance par autoréparation, mise à jour ou recréation manuelle. - Le MIG définit l'option
autoDelete
pour qu'elle corresponde à la configuration de votre modèle d'instance (instanceTemplates.disks[].autoDelete
) pour tous les disques qui doivent être sans état.
La modification de la valeur de l'option autoDelete
n'interrompt pas l'exécution d'une VM.
Comment les mises à jour de configurations par instance sont appliquées aux instances
Lorsque vous créez ou mettez à jour une configuration par instance, vous pouvez choisir d'appliquer la nouvelle configuration manuellement ou automatiquement. Pour en savoir plus, consultez la page Appliquer une configuration avec état à partir des configurations par instance.
Le tableau suivant indique les niveaux de perturbation requis pour appliquer différentes mises à jour de configuration par instance à une VM :
Mise à jour de la configuration par instance | Perturbation de la VM requise pour l'application |
---|---|
Configurez un disque, défini par le modèle d'instance, avec un état (ajouté à la configuration par instance) | ACTUALISER |
Configurez un disque, défini par le modèle d'instance, pour qu'il soit sans état (supprimé de la configuration par instance) | ACTUALISER |
Ajoutez un disque non défini par le modèle d'instance et associez-le à la VM | ACTUALISER |
Supprimez un disque non défini par le modèle d'instance et dissociez-le de la VM | ACTUALISER |
Ajoutez une paire clé/valeur de métadonnées | ACTUALISER |
Supprimez une paire clé/valeur de métadonnées | ACTUALISER |
Ajoutez un disque de démarrage externe, pas créé à partir du modèle d'instance, et associez-le à la VM | REMPLACER |
Supprimez un disque de démarrage externe, pas créé à partir du modèle d'instance, dissociez-le de la VM et créez un disque de démarrage à partir du modèle d'instance | REPLACE |
Définir une adresse IP interne | REPLACE |
Supprimer une adresse IP interne | REPLACE |
Lorsqu'une configuration par instance mise à jour est appliquée à la VM correspondante, le groupe d'instances géré effectue les actions suivantes en fonction des éléments avec état mis à jour :
- Ajoute (ou supprime) des disques, des adresses IP ou des métadonnées à l'état préservé issu de la configuration dans l'instance gérée correspondante.
- Associe (ou dissocie) des disques qui ne sont pas définis par le modèle d'instance à la VM.
- Définit (ou supprime) des paires clé/valeur de métadonnées spécifiques sur la VM.
- Attribue (ou supprime) des adresses IP spécifiées à l'instance de VM.
Une fois qu'une configuration par instance est appliquée à une VM gérée correspondante, vous pouvez voir l'effet de la mise à jour dans l'état préservé de l'instance.
État préservé d'une instance gérée
Lorsqu'il est appliqué, le MIG traduit votre modèle d'instance et votre configuration avec état en "état préservé" pour chaque instance gérée.
Vous pouvez afficher l'état préservé en inspectant une instance gérée.
Le MIG gère automatiquement ces états préservés et applique automatiquement et de manière asynchrone cet état à chaque instance de VM correspondante dans le MIG.
L'état préservé décrit les éléments individuels (disques persistants, adresses IP, métadonnées) avec état pour une instance donnée:
L'état préservé généré à partir d'une règle avec état est stocké séparément de l'état préservé généré à partir d'une configuration par instance. Le groupe d'instances géré combine les deux lors de la recréation d'une VM, mais l'état préservé d'une configuration par instance est prioritaire.
État préservé conformément à la règle avec état
Une règle avec état spécifie des éléments, présents dans toutes les instances et définis dans le modèle d'instance du MIG, à préserver individuellement pour chaque instance de VM dans un MIG.
Lorsqu'elle est appliquée, le MIG traduit la règle avec état en états préservés spécifiques à l'instance (managedInstances[].preservedStateFromPolicy
). Le MIG conserve automatiquement ces états préservés.
L'exemple suivant montre un MIG avec deux instances de VM qui utilisent un disque avec état défini dans une règle avec état applicable à chaque instance. Cet exemple ne comporte aucune configuration par instance.
La figure précédente montre un MIG avec deux instances :
- Le modèle d'instance définit un disque de démarrage portant le nom d'appareil
boot-disk
et un disque portant le nom d'appareildata-disk
pour toutes les instances du MIG. - La règle avec état déclare
data-disk
comme étant avec état. Le disque de démarrage reste sans état. Notez que le disque portant le nom d'appareildata-disk
doit être et est défini par le modèle d'instance. - Une fois la configuration appliquée, le groupe d'instances géré traduit la règle avec état en états préservés spécifiques à l'instance pour chaque instance gérée. Les états préservés indiquent au MIG de conserver le disque
data-disk-1
pour l'instance de VMnode-1
et le disquedata-disk-2
pour l'instancenode-2
, car ces deux disques ont le nom d'appareildata-disk
configuré dans leur règle avec état. - Cet exemple ne comporte aucune configuration par instance.
État préservé en fonction de la configuration par instance
Une configuration par instance spécifie les éléments qui doivent être préservés pour une VM particulière. Ces éléments n'ont pas besoin d'être définis dans le modèle d'instance du MIG.
Lors de l'application, le groupe d'instances géré traduit chaque configuration par instance en un état préservé (preservedStateFromConfig
) pour l'instance correspondante.
L'exemple suivant montre un groupe d'instances géré avec deux instances de VM pour lesquelles des métadonnées et des disques avec état sont définis dans des configurations par instance (PIC) pour chaque instance. Cet exemple ne comporte aucune règle avec état.
Dans la figure précédente :
- Le modèle d'instance définit un disque de démarrage portant le nom d'appareil
boot-disk
pour toutes les instances du MIG. Le disque de démarrage est sans état pour toutes les VM du MIG. - Les configurations par instance définissent les états à préserver pour deux instances du groupe :
node-1
etnode-2
.- Pour l'instance
node-1
, la configuration par instance définit un disquemy-legacy-1
portant le nom d'appareillegacy-disk
et les métadonnéesnode-id:xyz273
. - Pour l'instance
node-2
, la configuration par instance définit un disquemy-logs-1
portant le nom d'appareillogs-disk
et les métadonnéesnode-id:pqr851
.
- Pour l'instance
- Une fois la configuration appliquée, le groupe d'instances géré traduit automatiquement les configurations par instance en états préservés pour chaque instance gérée. Les états préservés indiquent au MIG d'associer et de préserver les éléments suivants :
- Disque persistant
my-legacy-1
et métadonnéesnode-id:xyz273
pour la VMnode-1
- Disque persistant
my-logs-1
et métadonnéesnode-id:pqr851
pour la VMnode-2
- Disque persistant
- Cet exemple ne comporte aucune règle avec état.
Notez que, dans cet exemple, les disques et les métadonnées à l'état préservé dans les configurations par instance ne sont pas définis par le modèle d'instance. Ils sont définis uniquement par les configurations par instance. En effet, la configuration que vous spécifiez dans une configuration par instance est spécifique à une VM particulière, ce qui signifie qu'elle n'a pas besoin d'être présente dans le modèle d'instance.
Les configurations par instance prévalent sur les règles avec état et les modèles d'instances
Vous pouvez configurer à la fois une règle avec état et une ou plusieurs configurations par instance dans un MIG. Par exemple, dans une règle avec état, vous pouvez définir des disques avec état présents dans toutes les instances, et dans les configurations par instance, vous pouvez définir des métadonnées spécifiques à une instance.
La configuration par instance d'une instance gérée est prioritaire par rapport à une configuration en conflit dans le modèle d'instance ou la règle avec état.
Si vous appliquez une configuration par instance pour ajouter un disque ou une interface réseau déjà définie dans une règle avec état, le MIG stocke la configuration avec état de ce disque ou de cette interface réseau dans l'état préservé de l'instance gérée issu de la configuration par instance (preservedStateFromConfig
) et supprime les entrées en conflit de son état préservé de la règle (preservedStateFromPolicy). Le MIG doit actualiser la VM si le nouvel état préservé est différent de l'état précédent. L'actualisation peut entraîner une modification des métadonnées, une modification de l'adresse IP externe ou un échange de disque pour dissocier le disque de la dernière configuration de l'état préservé et associer le disque spécifié dans la nouvelle configuration d'état préservé.
Dans l'exemple suivant, la configuration par instance de l'instance de VM node-1
redéfinit :
- l'état préservé du disque portant le nom d'appareil
logs-disk
, initialement défini dans la règle avec état ; - La valeur de la clé de métadonnées
logmonth
, initialement définie dans le modèle d'instance.
Dans la figure précédente :
- Le modèle d'instance définit :
- Trois disques pour toutes les instances du MIG, avec les noms d'appareils
boot-disk
,data-disk
etlogs-disk
. - Les métadonnées communes à toutes les instances :
logmonth:jan
.
- Trois disques pour toutes les instances du MIG, avec les noms d'appareils
- La règle avec état déclare que les disques portant les noms d'appareils
data-disk
etlogs-disk
sont avec état. Le disque de démarrage reste sans état. - Une configuration par instance pour l'instance
node-1
redéfinit :- La configuration avec état pour un disque portant le nom d'appareil
logs-disk
. Cela demande au MIG d'associer le disquepd-logs-feb
ànode-1
avec le nom d'appareillogs-disk
. - Les métadonnées, définies dans le modèle d'instance, avec la valeur de clé
logmonth:jan
: cette commande indique au MIG de définir la valeurlogmonth:feb
surnode-1
.
- La configuration avec état pour un disque portant le nom d'appareil
- Une fois que vous avez appliqué la configuration, le groupe d'instances géré traduit automatiquement la règle avec état et la configuration par instance en un état préservé spécifique à l'instance et stocké dans l'instance gérée.
- L'état préservé de la règle indique au MIG de préserver le disque
data-disk-1
pour la VMnode-1
. Notez que l'état préservé de la règle n'inclut pas de configuration avec état pour le disque portant le nom d'appareillogs-disk
, car elle est remplacée par la configuration delogs-disk
dans la configuration par instance. - L'état préservé de la configuration demande au groupe d'instances géré d'associer et de préserver le disque persistant
logs-disk
, et de définir et préserver les métadonnéeslogmonth:feb
pour l'instance de VMnode-1
. Notez que l'état préservé de la configuration remplace la configuration delogs-disk
de la règle avec état et les métadonnéeslogmonth:jan
du modèle d'instance.
- L'état préservé de la règle indique au MIG de préserver le disque
Comment la suppression d'une ressource d'une règle avec état affecte l'état préservé
Si vous supprimez une configuration de ressource de votre règle avec état, le MIG supprime automatiquement l'état préservé preservedStateFromPolicy
correspondant pour toutes les instances gérées. Les ressources de calcul restent associées aux instances, mais ne sont plus avec état.
Dans l'exemple suivant, la suppression d'un disque de la règle avec état entraîne sa suppression des états préservés de la règle dans toutes les VM gérées. Ces disques restent associés à leurs VM, mais ils ne sont plus avec état et peuvent être supprimés et recréés lors de la prochaine recréation de VM.
Si le même élément, par exemple un disque persistant avec état, est présent à la fois dans la règle avec état et dans une configuration par instance, et si vous supprimez sa configuration avec état de la règle avec état uniquement, le groupe d'instances géré ne le supprime pas de la configuration par instance. Pour la VM correspondante, la ressource configurée reste avec état.
Dans l'exemple suivant, la suppression du disque de la règle avec état n'entraîne pas la suppression du disque de la configuration par instance. Le disque reste avec état, car il fait toujours partie de l'état préservé de la configuration.
Comment la suppression d'éléments de configurations par instance affecte l'état préservé
Si vous supprimez la configuration avec état d'une configuration par instance et appliquez la modification, le groupe d'instances géré supprime automatiquement la configuration avec état de l'état préservé de la configuration (preservedStateFromConfig
) dans l'instance gérée correspondante. Les ressources de calcul qui ne font plus partie d'un état préservé deviennent sans état.
Comment la suppression de la configuration de disques avec état des configurations par instance affecte l'état préservé
Si vous supprimez un disque avec état d'une configuration par instance et appliquez la modification à l'instance de VM associée, le groupe d'instances géré effectue les opérations suivantes :
- La configuration du disque est supprimée de l'état préservé de la configuration de l'instance.
- Si un disque portant le même nom d'appareil est défini dans le modèle d'instance, mais n'est pas configuré dans une règle avec état, le disque reste associé à cette VM. Cependant, le disque devient sans état pour cette VM et peut être recréé en fonction de la configuration du modèle d'instance lors du prochain événement de recréation, d'autoréparation ou de mise à jour de VM.
- Si un disque portant le même nom d'appareil n'est pas défini dans le modèle d'instance, il est automatiquement dissocié de la VM lors de l'application de la configuration par instance mise à jour à la VM associée, quel que soit la configuration en termes de suppression automatique.
- Si un disque portant le même nom d'appareil est configuré dans une règle avec état, sa configuration avec état est traduite dans l'état préservé de la règle pour cette instance gérée, et le disque reste avec état.
Dans l'exemple suivant, la suppression d'un disque bleu et d'un disque vert de la configuration par instance de node-1
entraîne la suppression des deux disques de l'état préservé de l'instance gérée node-1
de la configuration.
- Le disque bleu reste associé à l'instance de VM
node-1
, mais il est désormais sans état et peut être recréé lors de la prochaine recréation de VM en fonction de la configuration du modèle d'instance. - Le disque vert est dissocié de l'instance de VM
node-1
, car le modèle d'instance ne définit pas de disque portant le même nom d'appareil.
Comment la suppression des métadonnées avec état des configurations par instance affecte l'état préservé
La suppression des métadonnées avec état d'une configuration par instance et l'application de la modification entraînent la suppression immédiate des métadonnées avec état par le groupe d'instances géré de l'instance gérée correspondante :
- Si vous avez défini des métadonnées avec la même clé dans le modèle d'instance, le MIG applique immédiatement la valeur du modèle d'instance à l'instance.
- Si les métadonnées avec la même clé ne sont pas définies dans le modèle d'instance, le MIG supprime immédiatement la valeur de la clé de l'instance.
Dans l'exemple suivant, la suppression des métadonnées mode:dev
et id:xyz273
de la configuration par instance de node-1
entraîne la suppression automatique des deux des paires clé/valeur de l'état préservé de l'instance gérée node-1
, de la configuration.
mode:dev
est remplacé par lemode:test
du modèle d'instance dans la VM.id:xyz273
est immédiatement supprimé de la VM, car le modèle d'instance ne dispose pas de métadonnées avec la même cléid
pour le remplacer.
Comment la suppression de la configuration d'adresses IP avec état des configurations par instance affecte l'état préservé
La suppression de la configuration d'adresse IP interne d'une configuration par instance rend l'adresse IP de cette VM sans état. Aucune modification automatisée n'est effectuée sur cette VM, mais l'adresse IP peut changer une fois la VM recréée, mise à jour ou autoréparée.
Recourir à une règle avec état
Si vous supprimez la configuration avec état d'une ressource d'une configuration par instance et que vous avez configuré la même ressource dans la règle avec état, la ressource reste avec état, conformément à la règle avec état.
Le MIG supprime automatiquement la configuration avec état de l'élément de preservedStateFromConfig
et l'ajoute à preservedStateFromPolicy
pour l'instance gérée correspondante.
Dans l'exemple suivant, la suppression d'un disque de la configuration par instance de node-1
n'entraîne pas la suppression du disque de la règle avec état. Le disque reste avec état, conformément à la règle avec état :
- Le groupe d'instances géré supprime automatiquement le disque de
preserveStateFromConfig
pour l'instance géréenode-1
, car le disque ne fait plus partie de sa configuration par instance. - Le groupe d'instances géré ajoute automatiquement le disque à
preserveStateFromPolicy
pour l'instance géréenode-1
, car la configuration de la règle avec état est toujours en place et n'est plus en conflit avec la configuration par instancenode-1
.
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.
Étapes suivantes
- Découvrez comment différentes configurations et actions de MIG affectent l'état préservé.
- Pour savoir comment gérer les charges de travail avec état en conservant les noms d'instance, les disques persistants et les métadonnées dans les instances gérées, consultez la page Configurer des groupes d'instances gérés (MIG) avec état.
- Apprenez-en plus en consultant l'article Quand utiliser des groupes d'instances gérés (MIG) avec état.
- Apprenez à migrer une charge de travail existante vers un MIG avec état.
- Apprenez-en davantage sur les MIG.
- Travaillez avec des instances gérées.