MIG erstellen, die Flex-Start-VMs verwendet

In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) erstellen, die Flex-Start-VM-Instanzen verwendet. Flex-Start-VMs werden bis zu sieben Tage lang ohne Unterbrechung ausgeführt und helfen Ihnen, stark nachgefragte Ressourcen wie GPUs zu einem reduzierten Preis zu erhalten. Diese Funktionen machen Flex-Start-VMs zu einer kostengünstigen Lösung für die Ausführung von Arbeitslasten mit kurzer Laufzeit, z. B. Arbeitslasten für das Feinabstimmen von Modellen und Batch-Inferenz.

In diesem Dokument wird beschrieben, wie Sie eine MIG erstellen, in der einzelne Flex-Start-VMs erstellt werden, sobald Ressourcen verfügbar sind. Daher erstellt die MIG möglicherweise anfangs nur einen Teil der angeforderten VMs und fügt die restlichen VMs später hinzu, wenn die Kapazität dies zulässt. Wenn Sie Flex-Start-VMs alle gleichzeitig in einer MIG erstellen möchten, lesen Sie stattdessen Anfragen zur Größenänderung von MIGs.

Weitere Methoden zum Erstellen von MIGs finden Sie unter Grundlegende Szenarien zum Erstellen einer MIG.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von MIGs mit Flex-Start-VMs benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen von MIGs mit Flex-Start-VMs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um MIGs zu erstellen, die Flex-Start-VMs verwenden:

  • Zum erstellen einer Instanzvorlage: compute.instanceTemplates.create für das Projekt
  • So erstellen Sie eine MIG: compute.instanceGroupManagers.create für das Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

MIG erstellen, die Flex-Start-VMs verwendet

Wenn Sie eine MIG mit Flex-Start-VMs erstellen möchten, müssen Sie die folgenden Schritte ausführen:

  1. Instanzvorlage erstellen, die für das Erstellen von Flex-Start-VMs konfiguriert ist

  2. Regionale oder zonale MIG erstellen

Instanzvorlage erstellen, die für die Erstellung von Flex-Start-VMs konfiguriert ist

Sie müssen eine Instanzvorlage erstellen, die für das Erstellen von Flex-Start-VMs konfiguriert ist, wie in diesem Abschnitt beschrieben. Nachdem Sie die Vorlage erstellt haben, verwenden Sie sie zum Erstellen der MIG.

Wählen Sie eine der folgenden Optionen aus, um eine Instanzvorlage zu erstellen, die für die Erstellung von Flex-Start-VMs konfiguriert ist:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen. Die Seite Instanzvorlage erstellen wird angezeigt.

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

  4. Wählen Sie im Bereich Standort den Typ der Instanzvorlage aus, die Sie erstellen möchten:

    • Wählen Sie für eine regionale Instanzvorlage Regional und dann die Region aus, in der Sie die Vorlage erstellen möchten. Geben Sie eine unterstützte Region an, die auf dem Maschinentyp basiert, den Ihre Flex-Start-VMs verwenden sollen.

    • Wählen Sie für eine globale Instanzvorlage Global aus.

  5. Wählen Sie im Abschnitt Maschinenkonfiguration eine unterstützte Maschinenserie für VMs mit flexiblem Start aus.

  6. 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 VMs festlegen möchten, die über die Instanzvorlage erstellt werden, geben Sie im Feld Anzahl der Stunden eingeben die Anzahl der Stunden ein, die die VMs ausgeführt werden sollen. Der Wert muss zwischen einer Stunde (1) und sieben Tagen (168) liegen. Wenn die VMs das Ende ihrer Laufzeit erreichen, löscht Compute Engine jede VM einzeln in Bezug auf ihre eigene Erstellungszeit.

  7. 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.

  8. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl gcloud compute instance-templates create, um eine Instanzvorlage zu erstellen, die für das Erstellen von Flex-Start-VMs konfiguriert ist.

Mit dem folgenden Befehl wird eine regionale Instanzvorlage erstellt. Wenn Sie eine globale Instanzvorlage erstellen möchten, verwenden Sie denselben Befehl ohne das Flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=DELETE \
    --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 zu erstellenden Instanzvorlage.

  • IMAGE_PROJECT ist 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: eine Image-Familie, die das neueste nicht verworfene Betriebssystem-Image angibt. 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. Geben Sie basierend auf dem Maschinentyp, den die Flex-Start-VMs verwenden sollen, eine unterstützte Region an.

  • MACHINE_TYPE: der GPU-Maschinentyp oder H4D-Maschinentyp, der für die Flex-Start-VMs verwendet werden soll. Wenn Sie einen N1-Maschinentyp angeben, müssen Sie das Flag --accelerator einfügen, um die Anzahl und den Typ der GPUs zu definieren, die an Ihre VMs angehängt werden sollen.

  • RUN_DURATION ist die Dauer, für die die angeforderten VMs ausgeführt werden sollen. Wenn die VMs das Ende ihrer Laufzeit erreichen, löscht Compute Engine jede VM einzeln in Bezug auf ihre eigene Erstellungszeit. Sie müssen die Laufzeit 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

Wenn Sie eine Instanzvorlage erstellen möchten, die zum Erstellen von Flex-Start-VMs konfiguriert ist, senden Sie eine der folgenden POST-Anfragen:

Wenn Sie beispielsweise eine regionale Instanzvorlage erstellen möchten, stellen Sie eine Anfrage wie folgt:

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 die Instanzvorlage erstellt werden soll.

  • REGION: die Region, in der die Instanzvorlage erstellt werden soll. Geben Sie basierend auf dem Maschinentyp, den die Flex-Start-VMs verwenden sollen, eine unterstützte Region an.

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage.

  • IMAGE_PROJECT ist 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: der GPU-Maschinentyp, der für die VMs verwendet werden soll. Wenn Sie einen N1-Maschinentyp angeben, müssen Sie das Feld guestAccelerators einfügen, um die Anzahl und den Typ der GPUs zu definieren, die an Ihre VMs angehängt werden sollen.

  • RUN_DURATION ist die Dauer in Sekunden, für die die angeforderten VMs ausgeführt werden sollen. Wenn die VMs das Ende ihrer Laufzeit erreichen, löscht Compute Engine jede VM einzeln in Bezug auf ihre eigene Erstellungszeit. Die Ausführungsdauer 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 die Details der Vorlage aufrufen, um ihre Attribute zu prüfen.

Regionale oder zonale MIG erstellen

Erstellen Sie eine regionale oder zonale MIG, wie in diesem Abschnitt beschrieben. Sie dürfen Autoscaling nicht konfigurieren und müssen Reparaturen deaktivieren. Wenn die angeforderten Ressourcen nicht verfügbar sind, versucht Compute Engine weiterhin, Ressourcen zuzuweisen, bis die Anfrage erfolgreich ist, Sie die Anzahl der VMs in der MIG reduzieren oder Sie die MIG löschen.

Wählen Sie eine der folgenden Optionen aus, um eine regionale oder zonale MIG zu erstellen:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen. Die Seite Instanzgruppe erstellen wird angezeigt.

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

  4. Wählen Sie in der Liste Instanzvorlage die Instanzvorlage aus, die Sie im vorherigen Abschnitt erstellt haben.

  5. Geben Sie im Feld Anzahl der Instanzen die Anzahl der Flex-Start-VMs ein, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast bestimmte VM-Namen erforderlich sind, geben Sie 0 ein, damit keine VMs erstellt werden. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

  6. 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 für die 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 Umverteilung von Instanzen deaktivieren.

  7. Wenn Sie die Autoscaling-Konfiguration löschen möchten, gehen Sie im Abschnitt Autoscaling so vor:

    1. Klicken Sie auf  Autoscaling konfigurieren.

    2. Klicken Sie in der Liste Autoscaling-Modus auf Autoscaling-Konfiguration löschen.

    3. Klicken Sie im Bestätigungsdialogfeld auf Löschen.

  8. Wenn Sie Reparaturen deaktivieren möchten, wählen Sie im Bereich Aktion bei Fehler in der Liste Standardaktion bei Fehler die Option Keine Aktion aus.

  9. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer MIG den Befehl gcloud compute instance-groups managed create.

Fügen Sie je nach Typ der MIG, die Sie erstellen möchten, die folgenden Flags in den Befehl ein:

  • Wenn Sie eine zonale MIG erstellen möchten, fügen Sie das Flag --zone ein:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Wenn Sie eine regionale MIG erstellen möchten, fügen Sie die Flags --region und --target-distribution-shape ein:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=SHAPE
    

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.

  • INSTANCE_TEMPLATE_URL: die URL der Instanzvorlage, die Sie im vorherigen Abschnitt erstellt haben. 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

  • SIZE: Die Anzahl der Flex-Start-VMs, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast bestimmte VM-Namen erforderlich sind, geben Sie 0 an, damit keine VMs erstellt werden. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

  • ZONE: die Zone, in der die zonale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie eine Zone in derselben Region wie die Vorlage angeben.

  • REGION: Die Region, in der die regionale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie dieselbe Region wie die Region der Vorlage angeben.

  • SHAPE: Wie Ihre MIG die Flex-Start-VMs auf Zonen in Ihrer regionalen MIG verteilt. Geben Sie einen der folgenden Werte an:

    • So erstellen Sie VMs in mehreren Zonen basierend auf der Verfügbarkeit: ANY

    • So erstellen Sie VMs in einer einzelnen Zone basierend auf der Verfügbarkeit: ANY_SINGLE_ZONE

    Weitere Informationen finden Sie unter Form der regionalen MIG-Zielverteilung.

REST

Wenn Sie eine MIG erstellen möchten, senden Sie eine POST-Anfrage an eine der folgenden Methoden:

  • So erstellen Sie eine zonale MIG: Senden Sie die folgende Anfrage an die instanceGroupManagers.insert-Methode:

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

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      },
      "targetSize": SIZE,
      "distributionPolicy": {
        "targetShape": "SHAPE"
      }
    }
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die regionale oder zonale MIG erstellt werden soll.

  • ZONE: die Zone, in der die zonale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie eine Zone in derselben Region wie die Vorlage angeben.

  • REGION: Die Region, in der die regionale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie dieselbe Region wie die Region der Vorlage angeben.

  • INSTANCE_GROUP_NAME: Name der MIG.

  • INSTANCE_TEMPLATE_URL: die URL der Instanzvorlage, die Sie im vorherigen Abschnitt erstellt haben. 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

  • SIZE: Die Anzahl der Flex-Start-VMs, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast bestimmte VM-Namen erforderlich sind, geben Sie 0 an, damit keine VMs erstellt werden. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

  • SHAPE: Wie Ihre MIG die Flex-Start-VMs auf Zonen in Ihrer regionalen MIG verteilt. Geben Sie einen der folgenden Werte an:

    • So erstellen Sie VMs in mehreren Zonen basierend auf der Verfügbarkeit: ANY

    • So erstellen Sie VMs in einer einzelnen Zone basierend auf der Verfügbarkeit: ANY_SINGLE_ZONE

    Weitere Informationen finden Sie unter Form der regionalen MIG-Zielverteilung.

Nächste Schritte