Créer un MIG HPC avec la série de machines H4D

Ce document explique comment créer un groupe d'instances géré (MIG) qui utilise un type de machine H4D.

La création d'un MIG vous permet de gérer plusieurs machines virtuelles (VM) comme une seule entité. Chaque VM d'un MIG est basée sur un modèle d'instance. En gérant automatiquement les VM du groupe, les MIG offrent une disponibilité et une évolutivité élevées. Pour en savoir plus sur les MIG, consultez Groupes d'instances gérés.

Pour en savoir plus sur les options de création de VM et de clusters HPC, consultez Présentation de la création de clusters HPC.

Si vous souhaitez créer un MIG, mais que vous n'utilisez pas de types de machines H4D ou que vous n'avez pas besoin de créer un déploiement dense d'instances, consultez Scénarios de base pour la création de groupes d'instances gérés (MIG).

Avant de commencer

  • Choisissez une option de consommation : pour créer des instances de calcul de manière groupée et activer des fonctionnalités de gestion de cluster améliorées, vous pouvez choisir une réservation future en mode Agenda ou des VM Spot.

    Si vous choisissez d'utiliser des VM Spot, il est possible que les VM ne soient pas colocalisées de manière compacte. De plus, les VM Spot peuvent être préemptées selon les besoins et ne sont pas éligibles à la gestion des événements de maintenance de l'hôte pour les groupes de VM.

  • Obtenir de la capacité : le processus d'obtention de la capacité diffère pour chaque option de consommation.

    Pour en savoir plus, consultez Choisir une option de consommation et obtenir de la capacité.

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet 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 en sélectionnant l'une des options suivantes :

    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. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    2. Set a default region and zone.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Présentation

La création d'un MIG avec le type de machine H4D comprend les étapes suivantes :

  1. Créer des réseaux VPC
  2. Facultatif : créez une règle de charge de travail.
  3. Créer un modèle d'instance
  4. Créer un MIG

Limites

Lorsque vous créez un MIG avec des VM H4D, les limites suivantes s'appliquent :

  • Si vous créez un MIG régional, il ne pourra créer des VM que dans la zone contenant le profil de votre réseau VPC.

  • Vous ne pouvez pas configurer la flexibilité des instances dans le MIG.

  • Si vous appliquez une règle de charge de travail à un MIG, vous ne pouvez pas la modifier dans le MIG lorsque le groupe contient des VM. Pour modifier la règle dans un MIG comportant des VM, vous devez d'abord redimensionner le MIG à zéro.

  • Vous ne pouvez pas utiliser un modèle d'instance qui spécifie une règle d'emplacement pour créer un MIG qui utilise une règle de charge de travail.

  • Les limites suivantes s'appliquent lorsque vous créez des demandes de redimensionnement de MIG :

    • Dans un MIG régional, vous ne pouvez utiliser que la forme de distribution cible ANY_SINGLE_ZONE (bêta). Les autres formes de distribution ne sont pas acceptées.

    • Vous ne pouvez définir le mode de pool de secours du MIG que sur manual (par défaut).

    • Vous ne pouvez pas définir l'autoscaling.

    • Si le MIG contient des requêtes de redimensionnement acceptées, vous ne pouvez pas effectuer les opérations suivantes :

      • Vous ne pouvez pas ajouter de deuxième modèle d'instance pour lancer une mise à jour Canary dans le MIG.

      • Vous ne pouvez pas modifier la taille cible du MIG.

    • Vous ne pouvez pas supprimer les instances gérées à l'état CREATING créées par le MIG pour une requête de redimensionnement. Pour supprimer ces instances gérées, vous devez annuler la requête de redimensionnement.

Facultatif : Créer des réseaux VPC

Lorsque vous créez une instance de calcul, vous pouvez spécifier un réseau et un sous-réseau VPC. Si vous omettez cette configuration, le réseau et le sous-réseau par défaut sont utilisés.

Si vous souhaitez configurer les instances H4D du MIG pour qu'elles utilisent Cloud RDMA, suivez les étapes de cette section. Sinon, vous pouvez l'ignorer et utiliser le réseau par défaut.

Pour utiliser Cloud RDMA avec des instances H4D, vous devez avoir configuré au moins deux réseaux, un pour chaque type d'interface réseau (NIC) :

  • Type de carte d'interface réseau GVNIC : utilise le pilote gve pour le trafic TCP/IP et le trafic Internet pour la communication normale entre VM et entre VM et Internet.
  • Type de carte d'interface réseau IRDMA : utilise les pilotes IDPF/iRDMA pour la mise en réseau Cloud RDMA entre les instances.

Les instances qui utilisent Cloud RDMA ne peuvent avoir qu'une seule interface IRDMA. Vous pouvez ajouter jusqu'à huit interfaces réseau GVNIC supplémentaires, pour un total de 10 cartes d'interface réseau virtuelle par instance.

Pour configurer les réseaux VPC Falcon à utiliser avec vos instances, vous pouvez suivre les instructions de la documentation ou utiliser le script fourni.

Guides d'instructions

Pour créer les réseaux, vous pouvez suivre les instructions suivantes :

Script

Vous pouvez créer jusqu'à neuf interfaces réseau gVNIC et une interface réseau IRDMA par instance. Chaque interface réseau doit être associée à un réseau distinct. Pour créer les réseaux, vous pouvez utiliser le script suivant, qui crée deux réseaux pour gVNIC et un réseau pour IRDMA.

  1. Facultatif : Avant d'exécuter le script, listez les profils réseau VPC Falcon pour vérifier qu'il en existe un.
      gcloud compute network-profiles list
      
  2. Copiez le code suivant et exécutez-le dans une fenêtre de shell Linux.

      #!/bin/bash
      # Set the number of GVNIC interfaces to create. You can create up to 9.
      NUM_GVNIC=NUMBER_OF_GVNIC
    
      # Create regular VPC networks and subnets for the GVNIC interfaces
        for N in $(seq 0 $(($NUM_GVNIC - 1))); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
              --subnet-mode=custom
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --region=REGION \
              --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --action=ALLOW \
              --rules=tcp:0-65535,udp:0-65535,icmp \
              --source-ranges=10.0.0.0/8
      done
    
      # Create SSH firewall rules
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
      # Optional: Create a firewall rule for the external IP address for the
      #  first GVNIC network interface
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      # Create a Falcon VPC network for the Cloud RDMA network interface
      gcloud compute networks create RDMA_NAME_PREFIX-irdma \
          --network-profile=ZONE-vpc-falcon \
          --subnet-mode custom
    
      # Create a subnet in the Falcon VPC network
      gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
          --network=RDMA_NAME_PREFIX-irdma \
          --region=REGION \
          --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
      

    Remplacez les éléments suivants :

    • NUMBER_OF_GVNIC : nombre d'interfaces gVNIC à créer. Spécifiez un nombre compris entre 1 et 9.
    • GVNIC_NAME_PREFIX : préfixe de nom à utiliser pour le réseau et le sous-réseau VPC standards qui utilisent un type de carte d'interface réseau GVNIC.
    • REGION : région dans laquelle vous souhaitez créer les réseaux. Cela doit correspondre à la zone spécifiée pour l'indicateur --network-profile lors de la création du réseau VPC Falcon. Par exemple, si vous spécifiez la zone europe-west4-b, votre région est europe-west4.
    • IP_RANGE : plage d'adresses IP en dehors du réseau VPC à utiliser pour les règles de pare-feu SSH. Il est recommandé de définir les plages d'adresses IP spécifiques à partir desquelles vous devez autoriser l'accès, plutôt que toutes les sources IPv4 ou IPv6. N'utilisez pas 0.0.0.0/0 ni ::/0 comme plage source, car cela autorise le trafic provenant de toutes les sources IPv4 ou IPv6, y compris celles en dehors de Google Cloud.
    • RDMA_NAME_PREFIX : préfixe de nom à utiliser pour le réseau VPC et le sous-réseau qui utilisent le type de carte d'interface réseau IRDMA.
    • ZONE : zone dans laquelle vous souhaitez créer les réseaux et les instances de calcul. Utilisez us-central1-a ou europe-west4-b.
  3. Facultatif : Pour vérifier que les ressources de réseau VPC ont bien été créées, vérifiez les paramètres réseau dans la console Google Cloud  :

    1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

      Accéder aux réseaux VPC

    2. Recherchez dans la liste les réseaux que vous avez créés à l'étape précédente.
    3. Pour afficher les sous-réseaux, les règles de pare-feu et les autres paramètres réseau, cliquez sur le nom du réseau.

Facultatif : Créer une règle de charge de travail

Si vous souhaitez que Compute Engine place les instances de VM dans un seul bloc ou dans des blocs adjacents, spécifiez l'emplacement des instances en créant une stratégie de charge de travail. Toutefois, si vous souhaitez que Compute Engine place vos instances sur un bloc spécifique, ignorez cette étape et indiquez le nom du bloc dans l'affinité de réservation lorsque vous créez le modèle d'instance.

Si vous disposez déjà d'une règle de charge de travail, vous pouvez la réutiliser. Lorsque vous appliquez une règle de charge de travail à votre MIG, Compute Engine s'efforce de créer des instances aussi proches les unes des autres que possible. Si votre application est sensible à la latence et que vous souhaitez que les instances soient plus proches les unes des autres (compacité maximale), spécifiez le champ maxTopologyDistance lorsque vous créez une stratégie de charge de travail.

Vous ne pouvez pas modifier une règle de charge de travail après l'avoir créée. Pour modifier une règle de charge de travail, vous devez en créer une.

Pour créer une stratégie de charge de travail, sélectionnez l'une des options suivantes :

gcloud

Pour créer une règle de charge de travail, utilisez la commande gcloud compute resource-policies create workload-policy.

  • Pour un placement des VM au mieux, spécifiez uniquement l'indicateur --type=high-throughput dans la commande :

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Pour une colocation stricte des VM, spécifiez l'option --max-topology-distance dans la commande :

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

Remplacez les éléments suivants :

  • WORKLOAD_POLICY_NAME : nom de la règle de charge de travail.
  • REGION : région dans laquelle vous souhaitez créer la règle de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et où le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions et les zones, consultez Régions et zones disponibles.

REST

Pour créer une règle de charge de travail, envoyez une requête POST à la méthode resourcePolicies.insert.

  • Pour un placement des VM au mieux, spécifiez uniquement le champ type dans la requête comme suit :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • Pour une colocation stricte des VM, spécifiez le champ maxTopologyDistance dans la requête comme suit :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • REGION : région dans laquelle vous souhaitez créer la règle de charge de travail. Spécifiez une région dans laquelle vous souhaitez créer le MIG et le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions et les zones, consultez Régions et zones disponibles.
  • WORKLOAD_POLICY_NAME : nom de la règle de charge de travail.

Créer un modèle d'instance

Pour spécifier les propriétés d'instance et de consommation de chaque instance du MIG, créez un modèle d'instance à l'aide de l'une des méthodes suivantes.

Les commandes suivantes définissent également le champ d'application de l'accès pour vos instances. Pour simplifier la gestion des autorisations, Google vous recommande de définir le niveau d'accès d'une instance sur cloud-platform, puis d'utiliser des rôles IAM pour définir les services auxquels l'instance peut accéder. Pour en savoir plus, consultez les bonnes pratiques concernant les niveaux d'accès.

gcloud

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant à votre option de consommation et à votre modèle de provisionnement.

Démarrage flexible

Pour créer un modèle d'instance régional, exécutez la commande gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-0, \
      subnet=GVNIC_NAME_PREFIX-sub-0, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine H4D à utiliser pour l'instance.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • STACK_TYPE : (facultatif) type de pile à utiliser pour l'interface gVNIC. Indiquez IPV4_ONLY ou IPV4_IPV6. Si vous ne spécifiez pas de valeur, IPV4_ONLY est utilisé par défaut.
  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant. Effectuez l'une des opérations suivantes :

    • Spécifiez une adresse IPv4 valide du sous-réseau.
    • Utilisez l'indicateur no-address si vous ne souhaitez pas que l'interface réseau dispose d'une adresse IP externe.
    • Spécifiez address='' si vous souhaitez que l'interface réseau reçoive une adresse IP externe éphémère.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • RUN_DURATION : durée d'exécution des instances demandées. Vous devez formater la valeur en nombre de jours, d'heures, de minutes ou de secondes, suivis respectivement de d, h, m et s. Par exemple, spécifiez 30m pour 30 minutes ou 1d2h3m4s pour un jour, deux heures, trois minutes et quatre secondes. Cette valeur doit être comprise entre 10 minutes et 7 jours.

Lié à la réservation

Pour créer un modèle d'instance régional, exécutez la commande gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-0, \
      subnet=GVNIC_NAME_PREFIX-sub-0, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine H4D à utiliser pour l'instance.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • STACK_TYPE : (facultatif) type de pile à utiliser pour l'interface gVNIC. Indiquez IPV4_ONLY ou IPV4_IPV6. Si vous ne spécifiez pas de valeur, IPV4_ONLY est utilisé par défaut.
  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant. Effectuez l'une des opérations suivantes :

    • Spécifiez une adresse IPv4 valide du sous-réseau.
    • Utilisez l'indicateur no-address si vous ne souhaitez pas que l'interface réseau dispose d'une adresse IP externe.
    • Spécifiez address='' si vous souhaitez que l'interface réseau reçoive une adresse IP externe éphémère.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • RESERVATION : nom de la réservation que vous souhaitez utiliser.

    RESERVATION : nom de la réservation ou d'un bloc spécifique dans une réservation. Pour obtenir le nom de la réservation ou les blocs disponibles, consultez Afficher la capacité réservée. En fonction de vos exigences concernant l'emplacement des instances, choisissez l'une des options suivantes :
    • Pour créer des instances sur plusieurs blocs ou sur un seul bloc :

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      De plus, pour un seul bloc, créez le MIG en appliquant une règle de charge de travail qui spécifie une colocation de bloc (maxTopologyDistance=BLOCK). Compute Engine applique ensuite la règle à la réservation et crée des instances sur le même bloc.

    • Pour créer des instances sur un bloc spécifique :

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

Pour créer un modèle d'instance régional, exécutez la commande gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-0, \
      subnet=GVNIC_NAME_PREFIX-sub-0, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine H4D à utiliser pour l'instance.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • STACK_TYPE : (facultatif) type de pile à utiliser pour l'interface gVNIC. Indiquez IPV4_ONLY ou IPV4_IPV6. Si vous ne spécifiez pas de valeur, IPV4_ONLY est utilisé par défaut.
  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant. Effectuez l'une des opérations suivantes :

    • Spécifiez une adresse IPv4 valide du sous-réseau.
    • Utilisez l'indicateur no-address si vous ne souhaitez pas que l'interface réseau dispose d'une adresse IP externe.
    • Spécifiez address='' si vous souhaitez que l'interface réseau reçoive une adresse IP externe éphémère.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • TERMINATION_ACTION : indique si Compute Engine arrête (STOP) ou supprime (DELETE) les VM Spot en cas de préemption.

REST

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant à votre option de consommation et à votre modèle de provisionnement.

Démarrage flexible

Pour créer un modèle d'instance régional, envoyez une requête POST à la méthode regionInstanceTemplates.insert :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine à utiliser pour l'instance. Spécifiez un type de machine H4D. Pour en savoir plus, consultez Types de machines H4D.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez la page Régions et zones.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • RUN_DURATION : durée, en secondes, pendant laquelle vous souhaitez que les instances demandées s'exécutent. La valeur doit être comprise entre 600, soit 600 secondes (10 minutes), et 604800, soit 604 800 secondes (7 jours).

Lié à la réservation

Pour créer un modèle d'instance régional, envoyez une requête POST à la méthode regionInstanceTemplates.insert :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine à utiliser pour l'instance. Spécifiez un type de machine H4D. Pour en savoir plus, consultez Types de machines H4D.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez la page Régions et zones.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • RESERVATION : nom de la réservation que vous souhaitez utiliser.

    RESERVATION : nom de la réservation ou d'un bloc spécifique dans une réservation. Pour obtenir le nom de la réservation ou les blocs disponibles, consultez Afficher la capacité réservée. En fonction de vos exigences concernant l'emplacement des instances, choisissez l'une des options suivantes :
    • Pour créer des instances sur plusieurs blocs ou sur un seul bloc :

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      De plus, pour un seul bloc, créez le MIG en appliquant une règle de charge de travail qui spécifie une colocation de bloc (maxTopologyDistance=BLOCK). Compute Engine applique ensuite la règle à la réservation et crée des instances sur le même bloc.

    • Pour créer des instances sur un bloc spécifique :

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

Pour créer un modèle d'instance régional, envoyez une requête POST à la méthode regionInstanceTemplates.insert :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION"
    }
  }
}

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
  • MACHINE_TYPE : type de machine à utiliser pour l'instance. Spécifiez un type de machine H4D. Pour en savoir plus, consultez Types de machines H4D.
  • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez la page Systèmes d'exploitation compatibles.
  • IMAGE_PROJECT : ID du projet de l'image de l'OS.
  • REGION : région dans laquelle vous souhaitez créer le modèle d'instance. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez la page Régions et zones.
  • DISK_SIZE : taille du disque de démarrage, en Gio.
  • GVNIC_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création des réseaux et sous-réseaux VPC standards pour les interfaces gVNIC.

    Si vous utilisez le réseau par défaut, n'incluez qu'un seul champ --network-interface avec le champ nic-type défini sur GVNIC. De plus, omettez les paramètres network et subnetwork pour cette interface réseau.

  • EXTERNAL_IPV4_ADDRESS : (facultatif) adresse IPv4 externe statique à utiliser avec l'interface réseau gVNIC. Vous devez avoir réservé une adresse IPv4 externe auparavant.

    Pour spécifier une adresse IPv6 externe pour l'interface réseau gVNIC, utilisez plutôt l'indicateur --external-ipv6-address.

  • RDMA_NAME_PREFIX : préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface réseau IRDMA.

    Si vous n'utilisez pas Cloud RDMA avec vos instances H4D, omettez le champ --network-interface pour l'interface IRDMA.

  • TERMINATION_ACTION : indique si Compute Engine arrête (STOP) ou supprime (DELETE) les VM Spot en cas de préemption.

Une fois créé, vous pouvez consulter le modèle d'instance pour voir son ID et examiner les propriétés de l'instance.

Créer un MIG

Après avoir terminé toutes les étapes précédentes, créez un MIG en fonction de votre scénario :

Scénario Méthode pour créer un MIG et des VM Exemple
Vous disposez de plusieurs jobs ou de jobs parallèles pouvant démarrer avec n'importe quel nombre de VM. Créez un MIG et utilisez la taille cible pour spécifier le nombre de VM que vous souhaitez inclure dans le groupe.

Consultez Créer un MIG avec une taille cible.

Jobs d'inférence ML
Vous avez un job qui nécessite une distribution sur un nombre exact de VM. Créez un MIG sans VM, puis créez une demande de redimensionnement dans le MIG. La requête de redimensionnement vous permet d'obtenir des VM simultanément.

Consultez Créer un MIG et une demande de redimensionnement.

Jobs d'entraînement et d'affinage de ML distribués

Créer un MIG avec une taille cible

Si vous pouvez démarrer votre job sans créer toutes les VM en même temps, créez un MIG avec une taille cible. La taille cible détermine le nombre de VM dans le MIG. Le MIG commence à créer des VM en fonction de la disponibilité actuelle des ressources. Si une ressource est temporairement indisponible, le MIG tente continuellement de créer des VM pour atteindre la taille cible.

Pour créer un MIG avec une taille cible, sélectionnez l'une des options suivantes :

gcloud

Pour créer un MIG avec une taille cible spécifiée, utilisez la commande instance-groups managed create.

Les commandes permettant de créer un MIG utilisent une règle de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le flag --workload-policy.

Créez un MIG zonal ou régional comme suit :

  • Pour créer un MIG zonal, utilisez la commande suivante :
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Pour créer un MIG régional, utilisez la commande suivante :
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Remplacez les éléments suivants :
  • MIG_NAME : nom du MIG.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • TARGET_SIZE : nombre de VM que vous souhaitez inclure dans le MIG.
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer l'indicateur --workload-policy.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez une zone dans la région de la règle.
  • REGION : région dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez la même région que celle de la règle. Pour un MIG régional, vous pouvez spécifier les zones de cette région au lieu de la région elle-même en utilisant l'indicateur --zones.

REST

Pour créer un MIG avec une taille cible spécifiée, envoyez une requête POST.

Les requêtes de création d'un MIG utilisent une stratégie de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le champ resourcePolicies.workloadPolicy.

Créez un MIG zonal ou régional comme suit :

  • Pour créer un MIG zonal, envoyez une requête POST à la méthode instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Pour créer un MIG régional, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Remplacez les éléments suivants :
  • PROJECT_ID : ID du projet.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez une zone dans la région de la règle.
  • REGION : région dans laquelle vous souhaitez créer le MIG. Si vous utilisez une règle de charge de travail, spécifiez la même région que celle de la règle.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • MIG_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que vous souhaitez inclure dans le MIG.
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Par exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champ resourcePolicies.workloadPolicy.

Créer un MIG et une demande de redimensionnement

Si vous avez besoin de plusieurs VM en même temps pour démarrer un job, créez un MIG, puis créez une demande de redimensionnement dans le MIG, comme décrit dans cette section.

Pour créer une demande de redimensionnement dans un MIG, sélectionnez l'une des options suivantes.

gcloud

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.

Démarrage flexible

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG zonal à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. Créez une demande de redimensionnement dans le MIG zonal à l'aide de la commande instance-groups managed resize-requests create comme suit :

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG régional à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Créez une demande de redimensionnement dans le MIG régional à l'aide de la commande bêta instance-groups managed resize-requests create comme suit :

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Lié à la réservation

Les commandes permettant de créer un MIG utilisent une règle de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le flag --workload-policy.

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG zonal à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Créez une demande de redimensionnement dans le MIG zonal à l'aide de la commande instance-groups managed resize-requests create comme suit :

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG régional à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Créez une demande de redimensionnement dans le MIG régional à l'aide de la commande bêta instance-groups managed resize-requests create comme suit :

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

Les commandes permettant de créer un MIG utilisent une règle de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le flag --workload-policy.

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG zonal à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Créez une demande de redimensionnement dans le MIG zonal à l'aide de la commande instance-groups managed resize-requests create comme suit :

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :

    1. Créez un MIG régional à l'aide de la commande instance-groups managed create comme suit.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Créez une demande de redimensionnement dans le MIG régional à l'aide de la commande bêta instance-groups managed resize-requests create comme suit :

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
Remplacez les éléments suivants :
  • MIG_NAME : nom du MIG.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Par exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer l'indicateur --workload-policy.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Pour un MIG régional, vous devez également spécifier une zone. Cette zone doit être celle qui contient le profil de votre réseau VPC et doit être une zone où le type de machine est disponible. Pour en savoir plus, consultez la section Limites.
  • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.
  • COUNT : nombre de VM à ajouter simultanément au MIG.
  • REGION : région dans laquelle se trouve le MIG.

Si votre charge de travail nécessite des noms de VM spécifiques, vous pouvez spécifier une liste de noms de VM à créer à l'aide de la commande beta instance-groups managed resize-requests create. Dans la commande, remplacez l'option --resize-request par l'option --instances.

REST

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.

Démarrage flexible

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
    1. Créez un MIG zonal en envoyant une requête POST à la méthode instanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG zonal en envoyant une requête POST à la méthode instanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :
    1. Créez un MIG régional en envoyant une requête POST à la méthode regionInstanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG régional en envoyant une requête POST à la méthode beta.regionInstanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Lié à la réservation

Les requêtes de création d'un MIG utilisent une stratégie de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le champ resourcePolicies.workloadPolicy.

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
    1. Créez un MIG zonal en envoyant une requête POST à la méthode instanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG zonal en envoyant une requête POST à la méthode instanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :
    1. Créez un MIG régional en envoyant une requête POST à la méthode regionInstanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG régional en envoyant une requête POST à la méthode beta.regionInstanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

Les requêtes de création d'un MIG utilisent une stratégie de charge de travail pour spécifier l'emplacement des VM. Si vous ne souhaitez pas utiliser de règle de charge de travail, supprimez le champ resourcePolicies.workloadPolicy.

Pour créer un MIG zonal ou régional et une demande de redimensionnement :

  • Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
    1. Créez un MIG zonal en envoyant une requête POST à la méthode instanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG zonal en envoyant une requête POST à la méthode instanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Pour créer un MIG régional et une demande de redimensionnement dans celui-ci :
    1. Créez un MIG régional en envoyant une requête POST à la méthode regionInstanceGroupManagers.insert comme suit.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Créez une demande de redimensionnement dans le MIG régional en envoyant une requête POST à la méthode beta.regionInstanceGroupManagerResizeRequests.insert comme suit :
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Remplacez les éléments suivants :
  • PROJECT_ID : ID du projet.
  • ZONE : zone dans laquelle vous souhaitez créer le MIG. Pour un MIG régional, vous devez également spécifier une zone. Cette zone doit être celle qui contient le profil de votre réseau VPC et doit être une zone où le type de machine est disponible. Pour en savoir plus, consultez la section Limites.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_TEMPLATE_URL : URL du modèle d'instance que vous souhaitez utiliser pour créer des VM dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :
    • Pour un modèle d'instance régional : projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Pour un modèle d'instance global : INSTANCE_TEMPLATE_ID
  • MIG_NAME : nom du MIG.
  • WORKLOAD_POLICY_URL : URL de la règle de charge de travail (facultatif). Par exemple : projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champ resourcePolicies.workloadPolicy.
  • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.
  • COUNT : nombre de VM à ajouter simultanément au MIG.

Si votre charge de travail nécessite des noms de VM spécifiques, vous pouvez spécifier une liste de noms de VM à créer. Pour ce faire, envoyez une requête POST à la méthode beta.regionInstanceGroupManagerResizeRequests.insert pour un MIG régional ou à la méthode beta.instanceGroupManagerResizeRequests.insert pour un MIG zonal. Dans le corps de la requête, remplacez le champ resizeBy par le champ instanceNames.

Étape suivante