Ce document explique comment créer un groupe d'instances géré (MIG) comprenant des VM avec GPU. Il explique comment ajouter simultanément des VM avec GPU dans le groupe à l'aide de demandes de redimensionnement.
L'utilisation d'une requête de redimensionnement améliore l'obtention des VM avec GPU dans un MIG. Dans la requête, spécifiez le nombre de VM avec GPU ainsi que la durée pendant laquelle vous souhaitez exécuter ces VM. Un mécanisme de programmeur sous-jacent gère toutes les requêtes de redimensionnement dans Compute Engine et planifie efficacement les requêtes en fonction des durées et de la disponibilité des VM. Lorsque les ressources deviennent disponibles, le MIG crée automatiquement les VM.
Si la tâche exécutée sur ces VM se termine avant la durée demandée, vous pouvez supprimer ces VM. Sinon, le MIG supprime automatiquement les VM à la fin de la durée définie.
Vous pouvez également découvrir d'autres scénarios de base pour la création d'un MIG.
Avant de commencer
- Pour vous assurer que vous disposez d'un quota de GPU suffisant pour les ressources que vous demandez, vérifiez votre quota de GPU.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant 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 comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Limites
Consultez les limites de création d'une requête de redimensionnement dans un MIG.
Créer un MIG et ajouter des VM avec GPU en même temps
Pour créer un MIG et ajouter des VM avec GPU en même temps dans le groupe, procédez comme suit :
Créez un modèle d'instance, qui est nécessaire pour créer un MIG. Le MIG crée chaque VM du groupe en fonction du modèle d'instance. Dans le modèle, spécifiez la configuration des VM avec GPU et les configurations supplémentaires requises pour utiliser des requêtes de redimensionnement.
Pour en savoir plus sur les modèles d'instances, consultez la page À propos des modèles d'instances.
Créez un MIG et une requête de redimensionnement pour ajouter toutes les VM avec GPU à la fois.
Créer un modèle d'instance
Créez un modèle d'instance comme décrit dans cette section, puis utilisez-le pour créer un MIG.
Console
Accédez à la page Modèles d'instance.
Cliquez sur Créer un modèle d'instance.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Dans la section Configuration de la machine, procédez comme suit :
- Cliquez sur l'onglet GPU.
- Dans la liste Type de GPU, sélectionnez le type de GPU.
- Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.
- Dans le menu Type de machine, sélectionnez un type de machine.
Développez la section Options avancées et procédez comme suit :
- Développez la section Gestion.
- Dans la liste Réservations, sélectionnez Ne pas utiliser.
Cliquez sur Créer.
gcloud
Créez un modèle d'instance à l'aide de la commande instance-templates create
.
La commande suivante crée un modèle d'instance global.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.MACHINE_TYPE
: type de machine compatible avec les GPU. Si vous spécifiez un type de machine N1, incluez l'option--accelerator
pour spécifier le nombre et le type de GPU à associer à vos VM.
REST
Créez un modèle d'instance en envoyant une requête POST
à la méthode instanceTemplates.insert
.
La requête suivante crée un modèle d'instance global.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer le MIG.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.MACHINE_TYPE
: type de machine compatible avec les GPU. Si vous spécifiez un type de machine N1, incluez l'optionguestAccelerators
pour spécifier le nombre et le type de GPU à associer à vos VM.
Créer un MIG et ajouter des VM avec GPU en même temps
Créez un MIG en désactivant les réparations, comme décrit dans cette section. Pour utiliser la requête de redimensionnement dans le MIG, vous ne devez pas configurer l'autoscaling dans le groupe.
gcloud
Créez un MIG zonal à l'aide de la commande bêta
instance-groups managed create
.gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Dans le MIG, créez une requête de redimensionnement à l'aide de la commande bêta
instance-groups managed resize-requests create
. Spécifiez le nombre de VM avec GPU souhaité et la durée d'exécution de ces VM.gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION\ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME
: nom du MIG.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance pour les VM avec GPU.ZONE
: une des zones disponibles pour Compute Engine.RESIZE_REQUEST_NAME
: nom de la requête de redimensionnement.COUNT
: nombre de VM à ajouter simultanément dans le groupe.RUN_DURATION
: durée d'exécution des VM demandées. La valeur doit correspondre au nombre de jours, d'heures, de minutes ou de secondes, suivi respectivement ded
,h
,m
ets
. Par exemple, spécifiez30m
pour 30 minutes ou1d2h3m4s
pour 1 jour, 2 heures, 3 minutes et 4 secondes. Cette valeur doit être comprise entre 10 minutes et 7 jours.
REST
Créez un groupe d'instances géré zonal en envoyant une requête
POST
à la méthode bêtainstanceGroupManagers.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Dans le MIG, créez une requête de redimensionnement en envoyant une requête
POST
à la méthode bêtainstanceGroupManagerResizeRequests.insert
. Dans le corps de la requête, spécifiez le nombre de VM avec GPU que vous souhaitez créer simultanément et la durée pendant laquelle vous souhaitez exécuter ces VM.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer le MIG.INSTANCE_GROUP_NAME
: nom du MIG.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance pour les VM avec GPU.ZONE
: une des zones disponibles pour Compute Engine.RESIZE_REQUEST_NAME
: nom de la requête de redimensionnement.COUNT
: nombre de VM à ajouter simultanément dans le groupe.RUN_DURATION
: durée, en secondes, pendant laquelle vous souhaitez que les VM demandées s'exécutent avant que le MIG ne les supprime automatiquement. La valeur doit être comprise entre600
, soit 600 secondes (10 minutes), et604800
, soit 604 800 secondes (7 jours).
La requête de redimensionnement que vous créez reste à l'état ACCEPTED
jusqu'à ce que le MIG crée toutes les VM avec GPU demandées. Une fois toutes les VM avec GPU créées dans le groupe, l'état de la requête passe à SUCCEEDED
.
Étapes suivantes
- Découvrez le fonctionnement des requêtes de redimensionnement dans un groupe d'instances géré.
- Découvrez comment afficher, annuler ou supprimer des demandes de redimensionnement dans un MIG.
- Découvrez comment afficher des informations sur les MIG et les VM gérées.