Ce tutoriel vous explique comment créer un groupe d'instances géré (MIG) qui utilise un type de machine H4D. Le MIG utilise le modèle de provisionnement lié à une réservation pour obtenir des ressources de calcul.
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.
Ce tutoriel s'adresse aux ingénieurs, administrateurs et opérateurs de plates-formes HPC, ainsi qu'aux spécialistes des données et de MPI qui souhaitent créer un groupe d'instances HPC interconnectées pour exécuter leurs charges de travail. Les instances résultantes n'utilisent pas d'orchestrateur pour la gestion des instances ni la planification des jobs.
Si vous souhaitez créer un groupe d'instances géré, mais que vous n'avez pas besoin de créer un déploiement dense d'instances, consultez plutôt Scénarios de base pour la création de groupes d'instances gérés (MIG).
Objectifs
- Réservez des blocs de capacité pour les instances de VM.
- Facultatif : Créez des réseaux de cloud privé virtuel (VPC).
- Facultatif : Créez une règle de charge de travail.
- Créez un modèle d'instance.
- Créez un MIG à l'aide de l'une des méthodes suivantes :
- Créez un MIG avec une taille cible.
- Créez un MIG et une demande de redimensionnement.
- Nettoyez les ressources que vous avez créées.
Coûts
Dans ce document, vous utilisez les composants facturables de Google Cloudsuivants :
Vous pouvez obtenir une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
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 initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
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 initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
Suivez la procédure pour réserver de la capacité en contactant votre équipe chargée du compte dans la documentation AI Hypercomputer. Dans votre demande de réservation future, fournissez les informations comme indiqué, à l'exception des éléments suivants :
- Type de machine : spécifiez le type de machine H4D
h4d-highmem-192-lssd
. - Zone : spécifiez l'une des zones dans lesquelles les instances H4D sont disponibles, comme indiqué dans le tableau Régions et zones disponibles. Pour n'afficher que les zones disponibles pour H4D, sélectionnez
H4D
dans la liste Sélectionner une série de machines. - Type de planification de la maintenance : pour les instances H4D, vous pouvez spécifier
GROUPED
ouINDEPENDENT
. - Mode opérationnel de la réservation : pour les instances H4D, spécifiez la valeur
HIGHLY_AVAILABLE_CAPACITY
.
- Type de machine : spécifiez le type de machine H4D
Le quota est automatiquement augmenté avant que la capacité ne soit fournie. Aucune action n'est requise de votre part.
Lorsque vous créez le modèle d'instance, spécifiez le modèle d'approvisionnement lié à la réservation. Les instances de VM du MIG sont provisionnées à partir de votre capacité réservée.
- Recherchez la capacité disponible et réservez des ressources à l'aide de la console Google Cloud , de gcloud CLI ou de l'API Compute Engine.
- Aucun quota n'est facturé et aucune action n'est requise de votre part.
- Lorsque vous créez le modèle d'instance, spécifiez le modèle d'approvisionnement lié à la réservation. Les instances de VM du MIG sont provisionnées à partir de votre capacité réservée.
- Si vous souhaitez configurer les instances H4D pour qu'elles utilisent Cloud RDMA, suivez les étapes de cette section.
- Si vous ne souhaitez pas utiliser Cloud RDMA, vous pouvez ignorer cette section et utiliser le réseau par défaut.
- Type de carte réseau
GVNIC
: utilise le pilotegve
pour le trafic TCP/IP et Internet pour la communication normale entre VM et entre VM et Internet. - Type de carte réseau
IRDMA
: utilise les pilotes IDPF/iRDMA pour la mise en réseau Cloud RDMA entre les instances. Pour créer les réseaux hôtes pour les interfaces réseau
GVNIC
, consultez Créer et gérer des réseaux VPC.Si vous ne configurez qu'une seule interface réseau
GVNIC
, vous pouvez utiliser le réseau VPC par défaut et le sous-réseau automatique situé dans la même région que l'instance.Pour créer un réseau pour l'interface réseau
IRDMA
, consultez Créer un réseau VPC avec un profil réseau RDMA. Utilisez la valeur par défaut de l'unité de transmission maximale (MTU) pour un réseau RDMA, qui est8896
.- Facultatif : Avant d'exécuter le script, listez les profils réseau RDMA pour vérifier qu'il en existe un.
gcloud beta compute network-profiles list
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 standard 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 network for the RDMA over Falcon network interface gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet for the RDMA network gcloud beta 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 réseau GVNIC.REGION
: région dans laquelle vous souhaitez créer les réseaux. Il doit correspondre à la zone spécifiée pour l'indicateur--network-profile
lors de la création du réseau RDMA. Par exemple, si vous spécifiez la zoneeurope-west4-b
, votre région esteurope-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 spécifier 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 pas0.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 réseau IRDMA.ZONE
: zone dans laquelle vous souhaitez créer les réseaux et les instances de calcul. Utilisezus-central1-a
oueurope-west4-b
.
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 :
- Dans la console Google Cloud , accédez à la page Réseaux VPC.
- Recherchez dans la liste les réseaux que vous avez créés à l'étape précédente.
- 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.
-
Pour un placement des VM au mieux, spécifiez uniquement l'option
--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
WORKLOAD_POLICY_NAME
: nom de la stratégie de charge de travail.REGION
: région dans laquelle vous souhaitez créer la stratégie 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.-
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" } }
PROJECT_ID
: ID de votre projetREGION
: région dans laquelle vous souhaitez créer la stratégie 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 stratégie de charge de travail.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.MACHINE_TYPE
: type de machine H4D à utiliser pour l'instance.IMAGE_FAMILY
: famille d'images de l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.IMAGE_PROJECT
: ID du projet de l'image 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 champnic-type
défini surGVNIC
. De plus, omettez les paramètresnetwork
etsubnetwork
pour cette interface réseau.STACK_TYPE
: (facultatif) type de pile à utiliser pour l'interface gVNIC. IndiquezIPV4_ONLY
ouIPV4_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 dans plusieurs blocs ou dans 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 blocs (
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
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 de l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste des systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.IMAGE_PROJECT
: ID du projet de l'image 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 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 champnic-type
défini surGVNIC
. De plus, omettez les paramètresnetwork
etsubnetwork
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 dans plusieurs blocs ou dans 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 blocs (
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
- Si vous avez plusieurs tâches ou des tâches parallèles qui peuvent démarrer avec n'importe quel nombre de VM, créez le MIG avec une taille cible.
- Si vous avez besoin de plusieurs VM simultanément pour démarrer un job, ou si vous avez un job qui nécessite une distribution sur un nombre exact d'instances de VM, créez un MIG, puis créez une demande de redimensionnement dans le MIG.
- 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, exécutez 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
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 l'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
- Pour un modèle d'instance régional :
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). 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 à l'aide de l'indicateur--zones
.- Pour créer un MIG zonal, envoyez une requête
POST
à la méthodeinstanceGroupManagers.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éthoderegionInstanceGroupManagers.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 } }
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 un 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 l'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
- Pour un modèle d'instance régional :
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). Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champresourcePolicies.workloadPolicy
.-
Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
-
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
-
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 \ POPULATION_METHOD \ --zone=ZONE
-
-
Pour créer un MIG régional et une demande de redimensionnement dans celui-ci, procédez comme suit :
-
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
-
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 \ POPULATION_METHOD \ --region=REGION
-
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 l'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
- Pour un modèle d'instance régional :
WORKLOAD_POLICY_URL
: URL de la règle de charge de travail (facultatif). 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.POPULATION_METHOD
: méthode d'ajout d'instances au MIG. Utilisez l'une des options suivantes :--resize-by=COUNT
: ajoute simultanément le nombre d'instances spécifié au MIG. Les noms d'instance sont générés automatiquement.--instances=INSTANCE_NAME_LIST
: ajoutez simultanément au MIG les instances portant les noms spécifiés. Remplacez INSTANCE_NAME_LIST par une liste de noms d'instances, séparés par une virgule. Le nombre de noms que vous fournissez détermine le nombre d'instances à créer avec cette demande de redimensionnement.
REGION
: région dans laquelle se trouve le MIG.- Pour créer un MIG zonal et une demande de redimensionnement dans celui-ci, procédez comme suit :
- Créez un MIG zonal en envoyant une requête
POST
à la méthodeinstanceGroupManagers.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 } }
- Créez une demande de redimensionnement dans le MIG zonal en envoyant une requête
POST
à la méthodeinstanceGroupManagerResizeRequests.insert
comme suit :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
- Créez un MIG zonal en envoyant une requête
- Pour créer un MIG régional et une demande de redimensionnement dans celui-ci, procédez comme suit :
- Créez un MIG régional en envoyant une requête
POST
à la méthoderegionInstanceGroupManagers.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 } }
- Créez une demande de redimensionnement dans le MIG régional en envoyant une requête
POST
à la méthodebeta.regionInstanceGroupManagerResizeRequests.insert
comme suit :POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
- Créez un MIG régional en envoyant une requête
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 l'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
- Pour un modèle d'instance régional :
MIG_NAME
: nom du MIG.WORKLOAD_POLICY_URL
: URL de la règle de charge de travail (facultatif). Si vous ne souhaitez pas utiliser de règle de charge de travail, vous pouvez supprimer le champresourcePolicies.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.POPULATION_METHOD
: méthode d'ajout d'instances au MIG. Utilisez l'une des options suivantes :"resizeBy":COUNT
: remplacez COUNT par le nombre d'instances spécifié à ajouter simultanément au MIG. Les noms d'instance sont générés automatiquement."instanceNames":INSTANCE_NAME_LIST
: ajoutez simultanément au MIG les instances portant les noms spécifiés. Remplacez INSTANCE_NAME_LIST par une liste de noms d'instances, séparés par une virgule. Le nombre de noms que vous fournissez détermine le nombre d'instances à créer avec cette demande de redimensionnement.
Si l'état de suppression automatique des disques a été défini sur
False
dans le modèle d'instance, les disques ne sont pas supprimés automatiquement lorsque l'instance de VM est supprimée. Vous pouvez supprimer les disques à l'aide de l'une des méthodes suivantes :Console
- Dans la console Google Cloud , accédez à la page Disques.
Sélectionnez les lignes contenant les disques que vous avez créés dans ce tutoriel. Assurez-vous que la colonne Utilisé par est vide pour chaque disque.
Cliquez sur
Supprimer, puis à nouveau sur Supprimer pour confirmer l'opération.
gcloud
Exécutez la commande
gcloud compute disks delete
.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONE
Remplacez les éléments suivants :
- DISK_NAME : nom du disque à supprimer
- PROJECT_ID : ID du projet contenant le disque
- ZONE : zone du disque.
REST
Utilisez la méthode
disks.delete
pour supprimer les disques.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet contenant le disque
- ZONE : zone du disque.
- DISK_NAME : nom du disque à supprimer
- En savoir plus sur les groupes d'instances gérés
- En savoir plus sur les options de consommation Compute Engine
- En savoir plus sur la série de machines H4D
- Afficher, annuler ou supprimer des demandes de redimensionnement
- Résoudre les problèmes de consommation de réservations
Capacité de réservation
Pour utiliser les commandes de ce tutoriel, vous devez réserver la capacité permettant de créer les instances dans le MIG.
Créer une réservation future pour des blocs de capacité
Cette action vous permet de réserver des blocs de capacité pour une durée définie, à partir d'une date et d'une heure spécifiques de votre choix. La réservation réserve des blocs ou des sous-blocs de capacité dans un cluster, ce qui permet des déploiements denses d'instances de VM.
Pour créer une réservation future pour un déploiement dense, procédez comme suit :
Vous êtes facturé pour toute la période de réservation, que vous utilisiez ou non les ressources réservées pendant toute la période. Pour en savoir plus, consultez Facturation des réservations.
Créer une réservation future en mode calendrier
Si vous avez besoin d'utiliser la capacité réservée pendant moins de 90 jours, vous pouvez créer une réservation future en mode calendrier à l'aide du planificateur de charges de travail dynamique. Pour obtenir des ressources de réservations futures, procédez comme suit :
Vous êtes facturé pour toute la période de réservation, que vous utilisiez ou non les ressources réservées pendant toute la période. Pour en savoir plus, consultez Tarifs du planificateur de charges de travail dynamique.
Facultatif : Créez des réseaux VPC
Sauf si vous choisissez de désactiver cette fonction, chaque projet dispose d'un réseau par défaut, qui peut être utilisé pour fournir une connectivité réseau à vos instances. Lorsque vous créez une VM, 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.
Les instances H4D peuvent être configurées pour utiliser Cloud RDMA. Cloud RDMA offre des fonctionnalités de messagerie fiables à faible latence en utilisant un pilote réseau IRDMA qui prend en charge l'accès direct à la mémoire à distance (RDMA) entre les instances Compute Engine.
Pour ce tutoriel :
Les instances compatibles avec RDMA nécessitent au moins deux interfaces réseau (NIC) :
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 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
.
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
.
Remplacez les éléments suivants :
REST
Pour créer une règle de charge de travail, envoyez une requête POST
à la méthode resourcePolicies.insert
.
Remplacez les éléments suivants :
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 :
gcloud
Pour créer un modèle d'instance régional, utilisez 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 :
REST
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 :
Une fois le modèle d'instance créé, vous pouvez l'afficher pour voir son ID et examiner les propriétés de l'instance.
Créer un MIG
En fonction des exigences de votre charge de travail, vous pouvez créer un MIG dans l'une des configurations suivantes :
Créer un MIG avec une taille cible
Si vous pouvez démarrer votre job sans créer toutes les instances de VM en même temps, créez un MIG avec une taille cible. La taille cible détermine le nombre d'instances dans le MIG. Le MIG commence à créer des instances en fonction de la disponibilité actuelle des ressources. Si une ressource est temporairement indisponible, le MIG tente en permanence de créer des instances 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
.
Dans cette étape, 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 l'indicateur --workload-policy
.
Créez un MIG zonal ou régional comme suit :
REST
Pour créer un MIG avec une taille cible spécifiée, envoyez une requête POST
comme suit.
Dans cette étape, 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
du corps de la requête.
Créez un MIG zonal ou régional comme suit :
Créer un MIG et une demande de redimensionnement
Pour créer toutes les instances demandées en même temps, créez un MIG sans aucune instance. Après avoir créé le MIG vide, vous créez une demande de redimensionnement dans le MIG. Lorsque les ressources sont disponibles pour créer toutes les instances en une seule fois, la requête de redimensionnement ajoute les instances au MIG.
Pour créer un MIG et une demande de redimensionnement, sélectionnez l'une des options suivantes :
gcloud
Dans cette étape, 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 l'indicateur --workload-policy
.
Créez un MIG zonal ou régional et une demande de redimensionnement comme suit :
Remplacez les éléments suivants :
REST
Dans cette étape, 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
du corps de la requête.
Créez un MIG zonal ou régional et une demande de redimensionnement comme suit :
Remplacez les éléments suivants :
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer votre projet
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID