À propos de la flexibilité des instances dans les MIG


La flexibilité des instances dans les groupes d'instances gérés (MIG) vous permet de spécifier plusieurs types de machines pour les instances de machines virtuelles (VM) du groupe, au lieu de vous limiter à un seul type de machine. Si un type de machine n'est pas disponible, le MIG peut automatiquement sélectionner un autre type compatible dans votre liste en fonction de la disponibilité des ressources actuelles. Cette flexibilité permet d'améliorer la disponibilité des ressources, en particulier pour les applications pouvant fonctionner sur différents types de machines et nécessitant une capacité à grande échelle ou du matériel à forte demande.

Ce document explique le fonctionnement de la flexibilité des instances dans un MIG et ses limites. Pour savoir comment configurer un MIG pour utiliser la flexibilité des instances, consultez la section Ajouter la flexibilité des instances.

Flexibilité des instances

Un MIG crée toutes ses VM en fonction du modèle d'instance que vous sélectionnez. Le modèle d'instance spécifie le type de machine à utiliser pour chaque VM. Avec la flexibilité des instances, vous pouvez lister tous les types de machines compatibles avec votre application.

L'image suivante compare un MIG qui utilise un seul type de machine à un MIG qui utilise la flexibilité des instances. Comme illustré dans l'image, un MIG avec un seul type de machine crée des VM identiques basées sur un modèle d'instance, tandis qu'un MIG avec une flexibilité d'instance peut créer des VM avec différents types et tailles de machines.

Comparaison d'un MIG qui utilise un seul type de machine avec un MIG qui utilise la flexibilité des instances

Fonctionnement de la flexibilité des instances

Par défaut, un MIG crée toutes les VM à l'aide d'un seul type de machine à partir du modèle d'instance. Vous pouvez définir plusieurs types de machines dans un MIG en configurant une sélection d'instances (instanceSelections) dans la règle de flexibilité des instances (instanceFlexibilityPolicy).

Si votre charge de travail peut fonctionner sur plusieurs types de machines différents, vous pouvez simplement configurer une liste de tous les types de machines compatibles avec votre application dans un seul instanceSelection comme suit:

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      }
    }
  }
  

Si vous souhaitez qu'un MIG choisisse des types de machines dans un ordre spécifique, vous pouvez configurer plusieurs sélections d'instances, chacune avec une liste de types de machines et un classement pour définir une préférence. Une valeur de classement plus faible signifie une préférence plus élevée. Le MIG tente de créer ses VM à l'aide de types de machines ayant une préférence plus élevée. Si ces types de machines préférés ne sont pas disponibles, le MIG utilise un type de machine préféré inférieur.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "rank": 1,
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      },
      "instance-selection-2": {
        "rank": 2,
        "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"]
      }
    }
  }
  

Votre application doit être prête à s'exécuter sur l'un des types de machines listés, car la disponibilité du matériel change au fil du temps et le matériel spécifique n'est pas garanti, sauf si vous utilisez des reservations.

Comment un MIG sélectionne-t-il des types de machines ?

Lorsque vous configurez plusieurs types de machines, le MIG sélectionne un type de machine en fonction de la disponibilité des ressources actuelles et donne la priorité aux réservations inutilisées. Si vous avez configuré des classements, le MIG tient d'abord compte de votre ordre de préférence. Dans le cadre d'une sélection d'instances classées, le MIG vérifie ensuite la disponibilité des ressources, puis les réservations.

Les zones de la région du MIG peuvent également avoir un impact sur la sélection du type de machine, car la disponibilité des ressources varie d'une zone à l'autre. Pour en savoir plus, consultez la section suivante sur la façon dont un MIG sélectionne des zones.

Comment un MIG sélectionne-t-il des zones ?

Vous pouvez configurer la flexibilité des instances dans un MIG régional doté d'une forme de distribution cible BALANCED ou ANY_SINGLE_ZONE. Avec la flexibilité des instances, lorsqu'un MIG régional crée une VM, il sélectionne une zone en fonction de la forme de distribution cible sélectionnée comme suit:

  • BALANCED: le MIG sélectionne une zone avec des ressources disponibles qui peuvent équilibrer la répartition des VM entre les zones aussi équitablement que possible. Dans une zone sélectionnée, le MIG hiérarchise les types de machines en fonction des classements, le cas échéant, et des réservations disponibles.

  • ANY_SINGLE_ZONE: le MIG sélectionne une zone qui compte le plus de types de machines en fonction des niveaux, le cas échéant, et où le MIG peut créer la plupart des VM à partir de réservations inutilisées.

Pour en savoir plus sur le fonctionnement d'une forme de distribution cible, consultez la page Forme de distribution cible du MIG régional.

Flexibilité des instances et réservations

Vous pouvez utiliser la flexibilité des instances avec les réservations. Un MIG utilise des réservations basées sur le champ reservationAffinity que vous définissez dans le modèle d'instance.

Lorsqu'il existe plusieurs types de machines dans une sélection d'instances, le MIG sélectionne d'abord le type de machine avec la réservation inutilisée. Si vous souhaitez modifier l'ordre dans lequel le MIG sélectionne les types de machines, vous pouvez configurer plusieurs sélections d'instances et spécifier vos préférences à l'aide de classements. Le MIG suit ensuite l'ordre de préférence, puis prend en compte les réservations dans une sélection d'instances.

Pour en savoir plus sur les réservations, consultez la section Réservations de ressources zonales Compute Engine.

Flexibilité des instances et VM Spot

Si votre MIG avec flexibilité des instances utilise des VM Spot, il sélectionne automatiquement un type de machine avec le taux de préemption le plus faible pour limiter les perturbations de votre charge de travail. Si vous souhaitez ignorer ce comportement, vous pouvez configurer plusieurs sélections d'instances et spécifier votre préférence à l'aide de classements. Le MIG suit ensuite l'ordre de préférence, puis tient compte de la fiabilité des VM Spot dans une sélection d'instances.

Pour en savoir plus sur les VM Spot, consultez la section VM Spot dans un groupe d'instances géré.

Flexibilité des instances et réparations de VM

Par défaut, si une VM d'un MIG échoue, le MIG la répare en la recréant avec la même configuration, y compris le type de machine. Si vous configurez la flexibilité des instances et que le type de machine d'origine de la VM défaillante est temporairement indisponible, le MIG sélectionne un autre type de machine en fonction de la sélection d'instance spécifiée.

Pour en savoir plus sur les réparations, consultez la section À propos de la réparation des VM pour la haute disponibilité.

Limites

La flexibilité des instances présente les limites suivantes:

Étape suivante