À propos de la flexibilité des instances pour les VM créées de manière groupée

Ce document décrit la flexibilité des instances lors de la création groupée de VM à l'aide de Compute Engine.

Lorsque vous créez des machines virtuelles (VM) de manière groupée dans une région, si votre application n'est pas limitée à un seul type de machine, vous pouvez augmenter le taux de réussite du provisionnement du nombre de VM requis en configurant la flexibilité des instances. La flexibilité des instances vous permet de spécifier un ou plusieurs types de machines adaptés à votre charge de travail. Compute Engine provisionne ensuite les VM à l'aide de l'un de ces types de machines, en fonction de la capacité et du quota disponibles.

Utiliser la flexibilité des instances

Pour configurer la flexibilité des instances, listez les types de machines adaptés en définissant une ou plusieurs sélections d'instances dans votre requête d'insertion groupée régionale. Par exemple, dans une requête REST, incluez l'objet instanceFlexibilityPolicy, dans lequel vous définissez un ou plusieurs objets instanceSelections, chacun contenant une liste de types de machines.

Lorsque Compute Engine reçoit la requête, il valide d'abord les types de machines et leur compatibilité zonale, en excluant toutes les entrées non valides. Si au moins une configuration valide existe, l'opération se poursuit.

Compute Engine tente ensuite de provisionner les VM en fonction du matériel, du quota et des réservations disponibles. Si vous configurez des rangs pour vos sélections d'instances, il donne la priorité aux sélections avec un rang inférieur. Dans chaque rang, Compute Engine tient compte des réservations inutilisées et des conseils concernant les VM Spot pour sélectionner les types de machines ayant une probabilité de préemption plus faible.

Sélection de zone lorsqu'une forme de distribution cible est définie

Lorsque vous utilisez la flexibilité des instances avec une requête bulkInsert régionale, vous pouvez spécifier une forme de distribution cible pour contrôler la répartition des VM entre les zones de la région. Compute Engine sélectionne les zones pour le provisionnement des VM en fonction de cette forme, comme suit :

  • ANY_SINGLE_ZONE: Compute Engine sélectionne une seule zone qui dispose de la plus grande capacité pour les types de machines ayant une préférence plus élevée.
  • BALANCED: Compute Engine répartit les VM de manière aussi uniforme que possible entre les zones disposant de ressources disponibles. Dans chaque zone, Compute Engine donne la priorité aux types de machines ayant une préférence plus élevée.
  • ANY : Compute Engine sélectionne les zones disposant de ressources disponibles. Si des rangs sont configurés, Compute Engine donne la priorité aux zones pour provisionner les VM avec des types de machines ayant une préférence plus élevée.

Pour en savoir plus, consultez Créer des VM de manière groupée dans une région.

Provisionnement minimal de VM et flexibilité des instances

Si vous définissez une valeur pour le nombre minimal requis de VM (minCount) dans la requête bulkInsert, l'API tente de créer au moins ce nombre de VM. Si Compute Engine ne peut pas provisionner le nombre minimal requis de VM (minCount), l'opération entière échoue et Compute Engine ne crée aucune VM. Lorsque vous utilisez minCount avec la flexibilité des instances, Compute Engine donne la priorité au provisionnement des VM en fonction de la disponibilité plutôt que du rang, comme suit :

  • Compute Engine donne la priorité au provisionnement du nombre maximal de VM jusqu'à count, même si cela implique d'utiliser des machines de préférence inférieure. Par exemple, si votre requête spécifie un minimum d'une VM requise (minCount=1) et un maximum de 10 VM (count=10), et si Compute Engine a la capacité de provisionner une VM de préférence supérieure ou six VM de préférence inférieure, Compute Engine provisionne les six VM de préférence inférieure.
  • Si Compute Engine peut provisionner le même nombre maximal de VM jusqu'à count en utilisant différentes sélections d'instances, il donne la priorité à la sélection ayant une préférence plus élevée. Par exemple, si votre requête spécifie un minimum d'une VM requise (minCount=1) et un maximum de 10 VM (count=10), et si Compute Engine peut provisionner six VM en utilisant une sélection d'instances de préférence supérieure ou inférieure, Compute Engine provisionne les six VM à partir de la sélection de préférence supérieure.

Pour en savoir plus, consultez la propriété minCount dans bulkInsert.

Validation de l'insertion groupée et scénarios d'erreur

Compute Engine effectue une validation initiale des types de machines et de leur compatibilité zonale, en excluant toutes les entrées non valides. Si au moins une configuration valide subsiste après cette vérification initiale, Compute Engine poursuit la création de la VM.

Toutefois, certaines validations de votre configuration ne peuvent avoir lieu qu'une fois que Compute Engine a sélectionné les zones et les types de machines à utiliser pour le provisionnement, en fonction de votre stratégie de flexibilité des instances et de la capacité disponible. Si, au cours de cette étape de validation ultérieure, la combinaison spécifique de type de machine et de zone choisie pour le provisionnement s'avère non valide, l'ensemble de la requête d'insertion groupée échoue avec des erreurs de validation. Cet échec peut se produire même si d'autres configurations dans instanceFlexibilityPolicy étaient initialement valides.

Limites

Les limites suivantes s'appliquent lorsque vous utilisez la flexibilité des instances pour la création groupée de VM :

  • Vous ne pouvez spécifier la flexibilité des instances que pour les requêtes bulkInsert régionales. Vous ne pouvez pas l'utiliser avec des requêtes zonales.
  • La flexibilité des instances n'est pas compatible avec les fonctionnalités d'AI Hypercomputer, y compris les réservations futures, le modèle de provisionnement à démarrage flexible, ainsi que les GPU A3 Ultra, A4 et plus récents.
  • Vous pouvez spécifier un maximum de 10 types de machines différents dans un maximum de 10 sélections d'instances différentes.

Étape suivante