MIG erstellen, in der GPU-VMs gleichzeitig hinzugefügt werden

In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) erstellen, um GPU-VM-Instanzen gleichzeitig hinzuzufügen.

Die MIG verwendet den Bulk-Modus der Richtlinie für die Zielgröße, um die VMs alle auf einmal hinzuzufügen. Außerdem wird das Bereitstellungsmodell „Flex-Start“ verwendet, um die Verfügbarkeit von Ressourcen zu verbessern. Weitere Informationen zum Flex-Start-Bereitstellungsmodell finden Sie unter Bereitstellungsmodelle.

Eine weitere Methode zum gleichzeitigen Hinzufügen von GPU-VMs in einer MIG ist das Erstellen von Anfragen zur Größenänderung. Vergleich von Bulk-Modus und Anfrage zur Größenänderung

Wenn für Ihre Arbeitslast nicht erforderlich ist, dass die MIG VMs gleichzeitig erstellt, Sie aber trotzdem die Verfügbarkeit von Ressourcen verbessern möchten, verwenden Sie das Bereitstellungsmodell „Flex-Start“, wie unter MIG mit Flex-Start-VMs erstellen beschrieben.

Hinweis

Beschränkungen

Es gelten folgende Einschränkungen:

MIG erstellen und GPU-VMs hinzufügen gleichzeitig

So erstellen Sie die GPU-VMs alle auf einmal:

  1. Erstellen Sie eine Instanzvorlage. Dies ist zum Erstellen einer MIG erforderlich. Die MIG verwendet diese Vorlage dann zum Erstellen der einzelnen VMs in der Gruppe. Geben Sie in der Vorlage die Konfigurationen für das Bereitstellungsmodell „Flex-Start“ an.

    Weitere Informationen zu Instanzvorlagen finden Sie unter Instanzvorlagen.

  2. MIG für die Bulk-Bereitstellung von VMs erstellen Aktivieren Sie beim Erstellen der MIG die Bulk-Bereitstellungsfunktion in der MIG, indem Sie den Richtlinienmodus für die Zielgröße auf BULK festlegen. Im Modus BULK versucht die MIG, alle VMs gleichzeitig zu erstellen, um die von Ihnen festgelegte Zielgröße zu erreichen.

Instanzvorlage erstellen

Erstellen Sie eine Instanzvorlage, in der eine GPU-Maschinenserie angegeben ist. Verwenden Sie die Vorlage dann, um eine MIG zu erstellen.

Hinweis: Wenn Sie Data-Science- oder ML-Arbeitslasten ausführen möchten, sollten Sie beim Erstellen einer Instanzvorlage ein Deep Learning-VM-Image verwenden. Deep Learning VM Images ist ein Satz von vorgefertigten VM-Images, der mit Frameworks für maschinelles Lernen und wichtigen Tools ausgestattet ist. Weitere Informationen zu diesen Images finden Sie in der Dokumentation zu Deep Learning VM Images unter Image auswählen.

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.

    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 instance-templates create eine Instanzvorlage:

gcloud 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: 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. Dieser Wert gibt das neueste nicht verworfene Betriebssystem-Image an. Wenn Sie beispielsweise 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: die Region, in der die Instanzvorlage erstellt werden soll.

  • MACHINE_TYPE: ein GPU-Maschinentyp. 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 instanceTemplates.insert:

POST https://compute.googleapis.com/compute/v1/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: die Region, in der die Instanzvorlage erstellt werden soll.

  • INSTANCE_TEMPLATE_NAME: 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: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Dieser Wert 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: ein GPU-Maschinentyp. 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 die Bulk-Bereitstellung in der MIG aktivieren, müssen Sie 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 Reparaturen deaktivieren und den Standort so festlegen:

    1. So deaktivieren Sie Reparaturen:
      1. Deaktivieren Sie im Abschnitt Lebenszyklus von VM-Instanzen das Kästchen Reparatur von VMs in einer alternativen Zone zulassen.
      2. Wählen Sie im Menü Standardaktion bei Fehler die Option Keine Aktion aus.
    2. So legen Sie den Bereich Standort fest:
      • 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. Wählen Sie unter Zielverteilungsform die Option Beliebige einzelne Zone aus. Wählen Sie im angezeigten Dialogfeld die Option Umverteilung von Instanzen deaktivieren 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. Geben Sie im Feld Anzahl der Instanzen die Anzahl der Instanzen an, die Sie gleichzeitig erstellen möchten.

  7. Klicken Sie das Kästchen VMs alle auf einmal mit Richtlinie für Bulk-Zielgröße erhalten an.

  8. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl instance-groups managed create, um eine MIG mit Bulk-Bereitstellungsfunktion zu erstellen.

  • Führen Sie den folgenden Befehl aus, um eine zonale MIG zu erstellen:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --target-size-policy-mode=bulk \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE \
    
  • Führen Sie den folgenden Befehl aus, um eine regionale MIG zu erstellen:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --target-size-policy-mode=bulk \
        --template=INSTANCE_TEMPLATE_URL \
        --zones=LIST_OF_ZONES \
    

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.
  • SIZE: Die Anzahl der VMs in der MIG.
  • INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen 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: Die Zone, in der die verwaltete Instanzgruppe VMs erstellt.
  • LIST_OF_ZONES: Eine durch Kommas getrennte Liste der Zonen, in denen die regionale MIG VMs erstellt. Beispiel: us-central1-a, us-central1-b, us-central1-c

REST

Wenn Sie eine MIG erstellen möchten, für die die Bulk-Erstellung aktiviert ist, senden Sie eine POST-Anfrage wie unten beschrieben. Setzen Sie im Anfragetext das Feld targetSizePolicy.mode auf bulk.

Wenn in der von Ihnen verwendeten Instanzvorlage das Bereitstellungsmodell „Flex-Start“ angegeben ist, müssen Sie Reparaturen in der MIG deaktivieren, indem Sie das Feld "instanceLifecyclePolicy": {"defaultActionOnFailure": "DO_NOTHING"} in die folgenden Anfragen einfügen.

  • Wenn Sie eine zonale MIG erstellen möchten, senden Sie eine POST-Anfrage an die Methode instanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": SIZE,
      "targetSizePolicy": {
        "mode": "bulk"
      },
      "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
      },
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ]
    }
    
  • Um eine regionale MIG zu erstellen, senden Sie eine POST-Anfrage an die Methode regionInstanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": SIZE,
      "targetSizePolicy": {
        "mode": "bulk"
      },
      "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
      },
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ]
    }
    

Ersetzen Sie Folgendes:

  • PROJECT_ID:die Projekt-ID.
  • ZONE:die Zone, in der die verwaltete Instanzgruppe VMs erstellt.
  • REGION:Die Region, in der die MIG VMs erstellt.
  • INSTANCE_GROUP_NAME:Name der MIG.
  • SIZE:Die Anzahl der VMs in der MIG.
  • INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen 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

Nächste Schritte