MIG mit TPU-Slices mit einem Host erstellen

In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) erstellen, die TPU-Slices mit einem einzelnen Host bildet. Ein TPU-Slice mit einem einzelnen Host wird einer TPU-VM-Instanz zugeordnet.

Sie können ein TPU-Slice mit einem einzelnen Host auch als eigenständige TPU-Instanz erstellen. Weitere Informationen finden Sie unter TPU-VM-Instanz erstellen.

Hinweis

Vorbereitung

Bevor Sie ein TPU-Slice mit einem einzelnen Host erstellen, müssen Sie Folgendes tun:

  1. TPU-Version auswählen: Wählen Sie die TPU-Version aus, die für Ihre Arbeitslast geeignet ist. Eine Liste der TPU-Versionen nach Arbeitslasttyp finden Sie unter Empfohlene TPU-Versionen nach Arbeitslasttyp.

  2. TPU-Verfügbarkeit am gewünschten Standort prüfen: TPUs sind in bestimmten Google Cloud Regionen verfügbar. Wenn Sie eine TPU-Version verwenden möchten, prüfen Sie, ob sie in der gewünschten Region verfügbar ist. Eine Liste der TPU-Standorte finden Sie unter TPU-Verfügbarkeit.

  3. Prüfen, ob Ihr Projekt über ein ausreichendes TPU-Kontingent verfügt: Wenn Sie ein TPU-Slice mit einem einzelnen Host mit VMs auf Abruf oder Spot-VMs erstellen, muss in der Region, die Sie verwenden möchten, ein ausreichendes TPU-Kontingent verfügbar sein. Für das Erstellen eines TPU-Slice mit einem einzelnen Host, das eine TPU-Reservierung nutzt, ist kein TPU-Kontingent erforderlich, da das Kontingent beim Erstellen der Reservierung verwendet wird. Eine Liste der TPU-Kontingentnamen finden Sie unter TPU-Kontingent. Eine Anleitung zum Aufrufen des Kontingents finden Sie unter Kontingente ansehen und verwalten.

  4. TPU-Nutzungsoption auswählen: Wählen Sie eine Nutzungsoption aus, die am besten zu Ihrer Arbeitslast, ihrer Dauer und Ihren Kostenanforderungen passt. Eine Liste der Verfügbarkeit von Nutzungsoptionen nach TPU-Versionen finden Sie unter TPU-Nutzungsoptionen.

  5. Topologie auswählen: Wählen Sie eine Topologie aus, die für die ausgewählte TPU Version unterstützt wird. Eine Liste der für die einzelnen TPU-Versionen verfügbaren Topologien finden Sie unter TPU-Topologie.

MIG mit mehreren TPU-Slices mit einem einzelnen Host erstellen

So erstellen Sie mehrere unabhängige TPU-VMs in einer MIG:

  1. Erstellen Sie eine Instanzvorlage.
  2. Erstellen Sie die MIG.

Instanzvorlage erstellen

Die Konfigurationen der Instanzvorlage variieren je nach verwendeter Nutzungsoption: auf Abruf, Spot, Reservierungen oder Flex-Start. Weitere Informationen zu Nutzungsoptionen finden Sie unter VM-Bereitstellungsmodelle .

Instanzvorlage für eine TPU-VM auf Abruf erstellen

Mit dem folgenden Befehl wird eine Instanzvorlage erstellt, die die Nutzungsoption auf Abruf verwendet:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Ersetzen Sie die folgenden Platzhalter:

  • INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
  • MACHINE_TYPE: Der Maschinentyp für die TPU VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das --image Flag. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.

Instanzvorlage für eine TPU-Spot-VM erstellen

Mit dem folgenden Befehl wird eine Instanzvorlage erstellt, die die Nutzungsoption Spot verwendet:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=STOP \
    --provisioning-model=SPOT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Ersetzen Sie die folgenden Platzhalter:

  • INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
  • MACHINE_TYPE: Der Maschinentyp für die TPU VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das --image Flag. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.

Instanzvorlage für eine reservierungsgebundene TPU-VM erstellen

Mit dem folgenden Befehl wird eine Instanzvorlage erstellt, die die Nutzungsoption reservierungsgebunden verwendet:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=DELETE \
    --reservation-affinity=specific \
    --provisioning-model=reservation-bound \
    --reservation=RESERVATION_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Ersetzen Sie die folgenden Platzhalter:

  • INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • RESERVATION_NAME: Der Name einer bestimmten Reservierung, die Sie nutzen möchten.
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das --image Flag. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.

Instanzvorlage für eine TPU-VM mit Flex-Start erstellen

Mit dem folgenden Befehl wird eine Instanzvorlage erstellt, die die Nutzungsoption Flex-Start verwendet:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=DELETE \
    --provisioning-model=FLEX_START \
    --max-run-duration=DURATION \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Ersetzen Sie die folgenden Platzhalter:

  • INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • DURATION: Die maximale Laufzeit für die TPU-VM (z. B. 1h).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das --image Flag. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.

MIG erstellen

Erstellen Sie eine zonale oder regionale MIG mit dem gcloud compute instance-groups managed create Befehl wie folgt:

  • Verwenden Sie den folgenden Befehl, um eine zonale MIG mit einem TPU-Slice mit einem einzelnen Host zu erstellen:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Verwenden Sie den folgenden Befehl, um eine regionale MIG mit einem TPU-Slice mit einem einzelnen Host zu erstellen:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=ANY_SINGLE_ZONE \
        --instance-redistribution-type=none
    

Ersetzen Sie die folgenden Platzhalter:

  • MIG_NAME: Der Name Ihrer MIG.
  • 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 Ihre MIG bereitgestellt werden soll.
  • REGION: Die Region , in der Ihre MIG bereitgestellt werden soll.

VMs mit benutzerdefinierten Namen in einer MIG erstellen

Sie können VMs in einer MIG erstellen, indem Sie für jede VM einen benutzerdefinierten Namen angeben. Dies ist nützlich für das Debugging und um sicherzustellen, dass Instanzen in einer bestimmten Reihenfolge erstellt werden.

gcloud

Erstellen Sie eine VM mit einem benutzerdefinierten Namen mit dem create-instance Befehl und geben Sie das --instance Flag an. Wenn Sie mehrere VMs erstellen möchten, wiederholen Sie den Befehl für jede VM. Alternativ können Sie mit der REST API-Methode mehrere VMs in einer einzigen Anfrage angeben.

  • Verwenden Sie für eine zonale MIG den folgenden Befehl:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --zone=ZONE \
        --instance=INSTANCE_NAME
    
  • Verwenden Sie für eine regionale MIG den folgenden Befehl:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --region=REGION \
        --instance=INSTANCE_NAME
    

Ersetzen Sie die folgenden Platzhalter:

  • MIG_NAME: Der Name Ihrer MIG.
  • ZONE: Die Zone der MIG.
  • REGION: Die Region der MIG.
  • INSTANCE_NAME: Der Name der VM, die der angegebenen MIG hinzugefügt werden soll.

REST

Erstellen Sie VMs mit benutzerdefinierten Namen mit einer der folgenden REST API-Methoden:

  • Verwenden Sie für eine zonale MIG instanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

  • Verwenden Sie für eine regionale MIG regionInstanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID des Projekts, in dem sich die MIG befindet.
  • ZONE: Die Zone der MIG.
  • REGION: Die Region der MIG.
  • INSTANCE_NAME_1,2,..: Die Namen der VMs, die der angegebenen MIG hinzugefügt werden sollen.

Nächste Schritte