MIG mit GPU-VMs erstellen


In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) mit VM-Instanzen mit angehängten GPUs erstellen. Dabei wird beschrieben, wie Sie mithilfe von Anfragen zur Größenänderung und dem Bereitstellungsmodell „Flex-Start“ GPU-VMs auf einmal einer zonalen MIG hinzufügen. Wenn Sie eine Anfrage zur Größenanpassung für eine MIG erstellen möchten, um eine Reservierung zu nutzen, lesen Sie stattdessen Folgendes:

Verwenden Sie eine Anfrage zur Größenanpassung der MIG mit dem Bereitstellungsmodell „Flex-Start“, um die Wahrscheinlichkeit zu erhöhen, GPU-VMs zu erhalten. Geben Sie in der Anfrage die Anzahl der GPU-VMs an. Der zugrunde liegende Planungsmechanismus Dynamic Workload Scheduler (DWS) plant Größenänderungsanfragen, die in Compute Engine erstellt werden, basierend auf den angeforderten Zeiträumen und der Ressourcenverfügbarkeit. Wenn die Ressourcen verfügbar sind, erstellt die MIG die VMs.

Wenn Ihr Job früher als die angeforderte Dauer abgeschlossen ist, können Sie die erstellten VMs löschen. Andernfalls löscht die MIG VMs am Ende der Ausführungsdauer.

Weitere Informationen zu anderen grundlegenden Szenarien zum Erstellen einer MIG

Vorbereitung

  • Prüfen Sie Ihr GPU-Kontingent, damit Ihr Kontingent für die angeforderten Ressourcen ausreicht.
  • Informationen zum Kontingentverbrauch finden Sie unter GPU-VMs und Zuteilungskontingente auf Abruf.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud -Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
    <x0A>

    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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

        Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Beschränkungen

Einschränkungen beim Erstellen einer MIG-Anfrage zur Größenanpassung

MIG erstellen und GPU-VMs hinzufügen gleichzeitig

So erstellen Sie eine MIG und fügen gleichzeitig GPU-VMs in der Gruppe hinzu:

  1. Erstellen Sie eine Instanzvorlage. Dies ist zum Erstellen einer MIG erforderlich. Die MIG erstellt jede VM in der Gruppe anhand der Instanzvorlage. Geben Sie in der Vorlage die Konfiguration für GPU-VMs und zusätzliche Konfigurationen an, die für die Verwendung von Anfragen zur Größenänderung erforderlich sind.

    Weitere Informationen zu Instanzvorlagen finden Sie unter Instanzvorlagen.

  2. Erstellen Sie eine MIG und eine Anfrage zur Größenanpassung, um GPU-VMs gleichzeitig hinzuzufügen.

Instanzvorlage erstellen

Erstellen Sie eine Instanzvorlage wie in diesem Abschnitt beschrieben und verwenden Sie sie dann, um eine MIG zu erstellen.

Console

  1. Rufen Sie die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen. Die Seite Instanzvorlage erstellen wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die Instanzvorlage ein.

  4. Führen Sie im Abschnitt Maschinenkonfiguration die folgenden Schritte aus:

    1. Klicken Sie auf den Tab GPUs.

    2. Wählen Sie im Menü GPU-Typ den GPU-Typ.

    3. Wählen Sie in der Liste Anzahl der GPUs die Anzahl der GPUs aus.

    4. Wählen Sie im Abschnitt Maschinentyp einen Maschinentyp aus.

  5. Führen Sie im Abschnitt Bereitstellungsmodell folgende Schritte aus:

    1. Wählen Sie in der Liste VM-Bereitstellungsmodell die Option Flex-Start aus.

      automatisch die Option Keine Reservierung verwenden ausgewählt.
    2. Wenn Sie eine Laufzeit für die über die Instanzvorlage erstellten VMs festlegen möchten, geben Sie im Feld Anzahl der Stunden eingeben die Anzahl der Stunden ein. Der Wert muss zwischen einer Stunde (1) und sieben Tagen (168) liegen.

  6. Optional: Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um den Standardwert für den Bootlaufwerktyp oder das Image zu ändern. Folgen Sie dann den Aufforderungen, um das Bootlaufwerk zu ändern.

  7. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie mit dem Befehl beta instance-templates create eine Instanzvorlage:

gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-termination-action=DELETE \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=RUN_DURATION \
    --provisioning-model=FLEX_START \
    --reservation-affinity=none

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME ist der Name der Instanzvorlage.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.

  • IMAGE_FAMILY ist eine Image-Familie. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Sie debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • REGION: Region, in der die Instanzvorlage erstellt werden soll.

  • MACHINE_TYPE ist ein Maschinentyp, der GPUs unterstützt. Wenn Sie einen N1-Maschinentyp angeben, fügen Sie das Flag --accelerator ein, um die Anzahl und den Typ der GPUs anzugeben, die an Ihre VMs angehängt werden sollen.

  • RUN_DURATION: durch die Dauer, für die die angeforderten VMs ausgeführt werden sollen. Sie müssen den Wert als Anzahl von Tagen, Stunden, Minuten oder Sekunden gefolgt von d, h, m bzw. s formatieren. Geben Sie beispielsweise 30m für 30 Minuten oder 1d2h3m4s für einen Tag, zwei Stunden, drei Minuten und vier Sekunden an. Der Wert muss zwischen 10 Minuten und 7 Tagen liegen.

REST

Erstellen Sie eine Instanzvorlage. Stellen Sie dazu eine POST-Anfrage an die Methode beta.instanceTemplates.insert:

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": RUN_DURATION
      },
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START"
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie die Instanzvorlage erstellen möchten.

  • REGION: Region, in der die Instanzvorlage erstellt werden soll.

  • INSTANCE_TEMPLATE_NAME ist der Name der Instanzvorlage.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.

  • IMAGE: Wählen Sie eine der folgenden Optionen aus:

    • Eine bestimmte Version des Betriebssystem-Images; Beispiel: debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Wenn Sie beispielsweise family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • MACHINE_TYPE ist ein Maschinentyp, der GPUs unterstützt. Wenn Sie einen N1-Maschinentyp angeben, fügen Sie das Feld guestAccelerators ein, um die Anzahl und den Typ der GPUs anzugeben, die an Ihre VMs angehängt werden sollen.

  • RUN_DURATION durch die Dauer in Sekunden, in der die angeforderten VMs ausgeführt werden sollen, bevor die MIG sie automatisch löscht. Der Wert muss zwischen 600, d. h. 600 Sekunden (10 Minuten), und 604800, also 604.800 Sekunden (7 Tage) liegen.

Nachdem Sie die Instanzvorlage erstellt haben, können Sie sie aufrufen, um ihre ID und die Instanzeigenschaften zu sehen.

MIG erstellen und GPU-VMs hinzufügen gleichzeitig

Erstellen Sie eine MIG, wie in diesem Abschnitt beschrieben. Wenn Sie eine Anfrage zur Größenänderung in der MIG erstellen möchten, dürfen Sie Autoscaling nicht konfigurieren und müssen Reparaturen deaktivieren.

Console

  1. Rufen Sie die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen. Die Seite Instanzgruppe erstellen wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die MIG ein.

  4. Bevor Sie eine Instanzvorlage auswählen können, müssen Sie die Autoscaling-Konfiguration löschen und Reparaturen deaktivieren. Gehen Sie dazu so vor:

    1. So löschen Sie die Autoscaling-Konfiguration:
      1. Klicken Sie im Abschnitt Autoscaling auf die Liste Autoscaling-Modus und dann auf Autoscaling-Konfiguration löschen.
      2. Klicken Sie im Bestätigungsdialogfeld auf Löschen.
    2. Wenn Sie Reparaturen deaktivieren möchten, klicken Sie im Abschnitt Lebenszyklus von VM-Instanzen auf die Liste Standardaktion bei Fehler und wählen Sie dann Keine Aktion aus.
  5. Kehren Sie zum Feld Instanzvorlage zurück. Wählen Sie in der Liste Instanzvorlage die Instanzvorlage aus, die Sie im vorherigen Abschnitt erstellt haben.

  6. Führen Sie einen der folgenden Schritte aus:

    • So erstellen Sie eine Anfrage zur Größenanpassung mit der MIG:
      1. Geben Sie im Feld Anzahl der Instanzen die Anzahl der VMs ein, die Sie gleichzeitig erstellen möchten.
      2. Klicken Sie das Kästchen Anfrage zur Größenanpassung verwenden, um VMs auf einmal zu erstellen an.
      3. Optional: Wenn Sie für die VMs eine andere Laufzeit als die in der Instanzvorlage festgelegte angeben möchten, geben Sie im Feld Angefragte Laufzeit und in den Listen Einheit eine Dauer an. Die Dauer muss zwischen einer Stunde und sieben Tagen liegen.
    • Wenn Sie nach dem Erstellen der MIG eine Anfrage zur Größenanpassung erstellen möchten, geben Sie im Feld Anzahl der Instanzen den Wert 0 ein.
  7. Geben Sie im Abschnitt Standort an, ob Sie eine zonale oder eine regionale MIG erstellen möchten:

    1. Wenn Sie eine zonale MIG erstellen möchten, wählen Sie Einzelne Zone aus. Wenn Sie eine regionale MIG erstellen möchten, wählen Sie Mehrere Zonen aus.
    2. Wählen Sie die Region und die Zonen der MIG aus.
    3. Wenn Sie eine regionale MIG erstellen, gehen Sie so vor:
      1. Wählen Sie im Feld Zielverteilungsform die Option Beliebige einzelne Zone aus.
      2. Klicken Sie im angezeigten Dialogfeld auf Instanzverteilung deaktivieren.
  8. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie mit dem Befehl instance-groups managed create eine zonale MIG:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
       --template=INSTANCE_TEMPLATE_URL \
       --size=0 \
       --zone=ZONE \
       --default-action-on-vm-failure=do_nothing
    
  2. Erstellen Sie in der MIG eine Anfrage zur Größenanpassung mit dem Befehl instance-groups managed resize-requests create. Geben Sie die Anzahl der GPU-VMs an, die Sie benötigen, und die Dauer, für die Sie diese VMs ausführen möchten.

    gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \
       --resize-request=RESIZE_REQUEST_NAME \
       --resize-by=COUNT \
       --zone=ZONE
    

Ersetzen Sie dabei Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.
  • INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von VMs in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:
    • Für eine regionale Instanzvorlage: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Für eine globale Instanzvorlage: INSTANCE_TEMPLATE_ID
  • ZONE: Eine für Compute Engine verfügbare Zone.
  • RESIZE_REQUEST_NAME durch den Name der Anfrage zur Größenänderung.
  • COUNT: durch die Anzahl der VMs, die alle gleichzeitig in der Gruppe hinzugefügt werden sollen.

REST

  1. Erstellen Sie eine zonale MIG. Stellen Sie dazu eine POST-Anfrage an die Methode instanceGroupManagers.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
     "versions": [
       {
         "instanceTemplate": "INSTANCE_TEMPLATE_URL"
       }
     ],
     "name": "INSTANCE_GROUP_NAME",
     "targetSize": 0,
     "instanceLifecyclePolicy": {
       "defaultActionOnFailure": "DO_NOTHING"
     }
    }
    
  2. Erstellen Sie in der MIG eine Anfrage zur Größenänderung, indem Sie eine POST-Anfrage an die Methode instanceGroupManagerResizeRequests.insert senden. Geben Sie im Anfragetext die Anzahl der GPU-VMs an, die Sie gleichzeitig erstellen möchten, und die Dauer, für die Sie diese VMs ausführen möchten.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
    {
     "name": "RESIZE_REQUEST_NAME",
     "resizeBy": COUNT
    }
    

Ersetzen Sie dabei Folgendes:

  • PROJECT_ID: durch die ID des Projekts, in dem Sie die MIG erstellen möchten.
  • INSTANCE_GROUP_NAME: Name der MIG.
  • INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von VMs in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:
    • Für eine regionale Instanzvorlage: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Für eine globale Instanzvorlage: INSTANCE_TEMPLATE_ID
  • ZONE: Eine für Compute Engine verfügbare Zone.
  • RESIZE_REQUEST_NAME durch den Name der Anfrage zur Größenänderung.
  • COUNT: durch die Anzahl der VMs, die alle gleichzeitig in der Gruppe hinzugefügt werden sollen.

Die von Ihnen erstellte Anfrage zur Größenänderung bleibt im Status ACCEPTED, bis die MIG alle angeforderten GPU-VMs erstellt hat. Nachdem alle GPU-VMs in der Gruppe erstellt wurden, ändert sich der Status der Anfrage zu SUCCEEDED.

Nächste Schritte