KI-optimierte Instanzen mit A3 High oder A3 Mega im Bulk erstellen

In diesem Dokument wird beschrieben, wie Sie VM-Instanzen (virtuelle Maschinen) in großer Zahl erstellen, die beschleunigungsoptimierte Maschinentypen vom Typ A3 High oder A3 Mega verwenden. Weitere Informationen zu den Maschinentypen finden Sie in der Compute Engine-Dokumentation unter A3 High und A3 Mega.

Weitere Informationen zum Erstellen von VMs im Bulk finden Sie in der Compute Engine-Dokumentation unter Informationen zur Bulk-Erstellung von VMs.

Weitere Informationen zum Erstellen von VMs oder Clustern finden Sie auf der Übersichtsseite.

Hinweise

Bevor Sie VMs im Bulk erstellen, führen Sie die folgenden Schritte aus, falls Sie dies noch nicht getan haben:

  1. Nutzungsoption auswählen: Die von Ihnen gewählte Nutzungsoption bestimmt, wie Sie GPU-Ressourcen beziehen und nutzen.

    Weitere Informationen finden Sie unter Nutzungsoption auswählen.

  2. Kapazität abrufen: Der Prozess zum Abrufen von Kapazität unterscheidet sich für jede Verbrauchsoption.

    Informationen zum Erhalten von Kapazität für die von Ihnen gewählte Verbrauchsoption finden Sie unter Kapazitätsübersicht.

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

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

REST

Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

    Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

    gcloud init

    Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

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

Erforderliche Rollen

Um die erforderlichen Berechtigungen zum Erstellen mehrerer VMs zu erhalten, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zuzuweisen. 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 VMs im Bulk erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die genau erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um VMs im Bulk zu erstellen:

  • compute.instances.create für das Projekt
  • Zum Erstellen der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
  • Zum Erstellen der VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
  • Zum Erstellen der VM mit einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
  • Zum Angeben eines Subnetzes für Ihre VM: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
  • Zum Festlegen einer statischen IP-Adresse für die VM: compute.addresses.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
  • Zum Zuweisen eines Legacy-Netzwerks zur VM: compute.networks.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein Legacy-Netzwerk verwenden: compute.networks.useExternalIp für das Projekt
  • Zum Festlegen von Metadaten der VM-Instanz für die VM: compute.instances.setMetadata für das Projekt
  • Zum Festlegen von Tags für die VM: compute.instances.setTags für die VM
  • Zum Festlegen von Labels für die VM: compute.instances.setLabels für die VM
  • Zum Festlegen eines Dienstkontos für die VM: compute.instances.setServiceAccount für die VM
  • Zum Erstellen eines neuen Laufwerks für die VM: compute.disks.create für das Projekt
  • Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus: compute.disks.use für das Laufwerk
  • Zum Anhängen eines vorhandenen Laufwerks im Lesemodus: compute.disks.useReadOnly für das Laufwerk

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

Übersicht

Das Erstellen von Instanzen im Bulk mit dem Maschinentyp „a3h“ oder „a3m“ umfasst die folgenden Schritte:

  1. VPC-Netzwerke erstellen
  2. Optional: Richtlinie für kompakte Platzierung erstellen
  3. Instanzen im Bulk erstellen

VPC-Netzwerke erstellen

Damit Ihre GPU-VMs effizient kommunizieren können, müssen Sie ein Verwaltungsnetzwerk und ein oder mehrere Datennetzwerke erstellen. Das Verwaltungsnetzwerk wird für den externen Zugriff, z. B. SSH, und für die meisten allgemeinen Netzwerkkommunikationen verwendet. Die Datennetzwerke werden für die leistungsstarke Kommunikation zwischen den GPUs auf verschiedenen VMs verwendet, z. B. für RDMA-Traffic (Remote Direct Memory Access).

Für diese VPC-Netzwerke empfehlen wir, die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) auf einen höheren Wert festzulegen. Höhere MTU-Werte steigern die Paketgröße und reduzieren den Paketheader-Overhead, wodurch der Nutzlastdatendurchsatz erhöht wird. Weitere Informationen zum Erstellen von VPC-Netzwerken finden Sie unter MTU-Netzwerk im Jumbo Frame erstellen und prüfen.

Verwaltungsnetzwerk, Subnetz und Firewallregel erstellen

Führen Sie die folgenden Schritte aus, um das Verwaltungsnetzwerk einzurichten:

  1. Erstellen Sie das Verwaltungsnetzwerk mit dem Befehl networks create:

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. Erstellen Sie das Verwaltungssubnetz mit dem Befehl networks subnets create:

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. Erstellen Sie Firewallregeln mit dem Befehl firewall-rules create.

    1. Erstellen Sie eine Firewallregel für das Verwaltungsnetzwerk.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. Erstellen Sie die Firewallregel tcp:22, um einzuschränken, welche Quell-IP-Adressen eine SSH-Verbindung zu Ihrer VM herstellen können.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. Erstellen Sie die Firewallregel icmp, mit der Sie nach Problemen mit der Datenübertragung im Netzwerk suchen können.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

Ersetzen Sie Folgendes:

  • NETWORK_NAME_PREFIX: Das Namenspräfix, das für die VPC-Netzwerke und -Subnetze verwendet werden soll.
  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: Die Region, in der Sie die Netzwerke erstellen möchten.
  • SSH_SOURCE_IP_RANGE: IP-Bereich im CIDR-Format. Hier wird angegeben, welche Quell-IP-Adressen über SSH eine Verbindung zu Ihrer VM herstellen können.

Datennetzwerke, Subnetze und Firewallregeln erstellen

Die Anzahl der Datennetzwerke hängt vom Typ der GPU-Maschine ab, die Sie erstellen.

A3 Mega

Für A3 Mega sind acht Datennetzwerke erforderlich. Verwenden Sie den folgenden Befehl, um acht Datennetzwerke jeweils mit Subnetzen und Firewallregeln zu erstellen.

for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

A3 High

Für A3 High sind vier Datennetzwerke erforderlich. Verwenden Sie den folgenden Befehl, um vier Datennetzwerke jeweils mit Subnetzen und Firewallregeln zu erstellen.

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

Optional: Richtlinie für kompakte Platzierung erstellen

Sie können die VM-Platzierung festlegen, indem Sie eine Richtlinie für kompakte Platzierung erstellen. Wenn Sie eine Richtlinie für kompakte Platzierung auf Ihre VMs anwenden, versucht Compute Engine, VMs zu erstellen, die so nah wie möglich beieinander liegen. Wenn Ihre Anwendung latenzempfindlich ist und Sie möchten, dass die VMs näher beieinander liegen (maximale Kompaktheit), geben Sie beim Erstellen einer Richtlinie für kompakte Platzierung das Feld maxDistance (Vorabversion) an. Ein niedrigerer maxDistance-Wert sorgt für eine engere VM-Platzierung, erhöht aber auch die Wahrscheinlichkeit, dass einige VMs nicht erstellt werden.

Wählen Sie eine der folgenden Optionen aus, um eine Richtlinie für kompakte Platzierung zu erstellen:

gcloud

Verwenden Sie zum Erstellen einer Richtlinie für kompakte Platzierung den Befehl gcloud beta compute resource-policies create group-placement:

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

Ersetzen Sie Folgendes:

  • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  • MAX_DISTANCE: die maximale Entfernung zwischen den VMs. Der Wert muss 3 sein, um VMs in den benachbarten Blöcken zu platzieren, oder 2, um VMs im selben Block zu platzieren. Informationen zur maximalen Anzahl von VMs, die für jede maxDistance pro Maschinenserie unterstützt werden, finden Sie in der Compute Engine-Dokumentation unter Richtlinien für kompakte Platzierung.
  • REGION: Die Region, in der Sie die Richtlinie für kompakte Platzierungen erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.

REST

Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung eine POST-Anfrage an die Beta-Methode resourcePolicies.insert. Geben Sie im Anfragetext das Feld collocation an, das auf COLLOCATED gesetzt ist, sowie das Feld maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  • MAX_DISTANCE: die maximale Entfernung zwischen den VMs. Der Wert muss 3 sein, um VMs in den benachbarten Blöcken zu platzieren, oder 2, um VMs im selben Block zu platzieren. Informationen zur maximalen Anzahl von VMs, die für jede maxDistance pro Maschinenserie unterstützt werden, finden Sie in der Compute Engine-Dokumentation unter Richtlinien für kompakte Platzierung.
  • REGION: Die Region, in der Sie die Richtlinie für kompakte Platzierungen erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.

A3 High- oder A3 Mega-VMs im Bulk erstellen

Verwenden Sie eine der folgenden Methoden, um A3-High- oder A3-Mega-VMs im Bulk zu erstellen.

Mit den folgenden Befehlen wird auch der Zugriffsbereich für Ihre Instanzen festgelegt. Um die Berechtigungsverwaltung zu vereinfachen, empfiehlt Google, den Zugriffsbereich für eine Instanz auf cloud-platform-Zugriff festzulegen und dann mit IAM-Rollen zu definieren, auf welche Dienste die Instanz zugreifen kann. Weitere Informationen finden Sie unter Best Practices für Bereiche.

gcloud

Verwenden Sie zum Erstellen einer A3 High- oder A3 Mega-VM den Befehl gcloud compute instances bulk create.

A3 Mega

Verwenden Sie den Befehl gcloud compute instances bulk create, um VMs im Bulk zu erstellen.

Die Parameter, die Sie angeben müssen, hängen von der Verbrauchsoption ab, die Sie für diese Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.

Reservierungsgebunden

Fügen Sie vor dem Ausführen des Befehls optional das Flag für eine Richtlinie für kompakte Platzierung hinzu.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-Mega-Maschinenserie empfehlen wir dringend, entweder das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren oder das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580 zu verwenden. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise entweder cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher oder rocky-linux-accelerator-cloud für das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580.
    • REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie dieselbe Region wie für die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • RESERVATION: entweder der Name der Reservierung oder ein bestimmter Block innerhalb einer Reservierung. Informationen zum Abrufen des Reservierungsnamens oder der verfügbaren Blöcke finden Sie unter Reservierte Kapazität ansehen. Wählen Sie je nach Ihren Anforderungen an die Platzierung der Instanz eine der folgenden Optionen aus:
      • So erstellen Sie Instanzen über mehrere Blöcke hinweg oder in einem einzelnen Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Außerdem gilt Folgendes: Wenden Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierung an, die eine Block-Colocation (maxDistance=2) angibt. . Compute Engine wendet die Richtlinie dann auf die Reservierung an und erstellt Instanzen im selben Block.

      • So erstellen Sie Instanzen auf einem bestimmten Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Gibt an, ob Compute Engine die VM am Ende des Reservierungszeitraums beendet (STOP) oder löscht (DELETE).

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Befehl das folgende Flag hinzu:

      --resource-policies=POLICY_NAME
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Führen Sie den Befehl aus.

Spot

Fügen Sie vor dem Ausführen des Befehls optional das Flag für eine Richtlinie für kompakte Platzierung hinzu.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-Mega-Maschinenserie empfehlen wir dringend, entweder das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren oder das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580 zu verwenden. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise entweder cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher oder rocky-linux-accelerator-cloud für das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580.
    • REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie dieselbe Region wie für die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entweder STOP (Standard) oder DELETE.

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Befehl das folgende Flag hinzu:

      --resource-policies=POLICY_NAME
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Führen Sie den Befehl aus.

A3 High

Verwenden Sie den Befehl gcloud compute instances bulk create, um VMs im Bulk zu erstellen.

Die Parameter, die Sie angeben müssen, hängen von der Verbrauchsoption ab, die Sie für diese Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.

Reservierungsgebunden

Fügen Sie vor dem Ausführen des Befehls optional das Flag für eine Richtlinie für kompakte Platzierung hinzu.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-High-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher.
    • REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie dieselbe Region wie für die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • RESERVATION: entweder der Name der Reservierung oder ein bestimmter Block innerhalb einer Reservierung. Informationen zum Abrufen des Reservierungsnamens oder der verfügbaren Blöcke finden Sie unter Reservierte Kapazität ansehen. Wählen Sie je nach Ihren Anforderungen an die Platzierung der Instanz eine der folgenden Optionen aus:
      • So erstellen Sie Instanzen über mehrere Blöcke hinweg oder in einem einzelnen Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Außerdem gilt Folgendes: Wenden Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierung an, die eine Block-Colocation (maxDistance=2) angibt. . Compute Engine wendet die Richtlinie dann auf die Reservierung an und erstellt Instanzen im selben Block.

      • So erstellen Sie Instanzen auf einem bestimmten Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Gibt an, ob Compute Engine die VM am Ende des Reservierungszeitraums beendet (STOP) oder löscht (DELETE).

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Befehl das folgende Flag hinzu:

      --resource-policies=POLICY_NAME
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Führen Sie den Befehl aus.

Spot

Fügen Sie vor dem Ausführen des Befehls optional das Flag für eine Richtlinie für kompakte Platzierung hinzu.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-High-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher.
    • REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie dieselbe Region wie für die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entweder STOP (Standard) oder DELETE.

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Befehl das folgende Flag hinzu:

      --resource-policies=POLICY_NAME
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Führen Sie den Befehl aus.

REST

Verwenden Sie die Methode instances.bulkInsert, um eine A3 High- oder A3 Mega-VM zu erstellen.

A3 Mega

Wenn Sie VMs im Bulk erstellen möchten, senden Sie eine POST-Anfrage an die Methode instances.bulkInsert.

Die Parameter, die Sie angeben müssen, hängen von der Verbrauchsoption ab, die Sie für diese Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.

Reservierungsgebunden

Fügen Sie vor dem Senden der Anfrage optional das Unterfeld instanceProperties für eine Richtlinie für kompakte Platzierung in den Anfragetext ein.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die VM erstellen möchten.
    • ZONE: Geben Sie eine Zone an, in der der Maschinentyp verfügbar ist, den Sie verwenden möchten. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • VM_NAME: der Name der VM.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise entweder cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher oder rocky-linux-accelerator-cloud für das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-Mega-Maschinenserie empfehlen wir dringend, entweder das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren oder das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580 zu verwenden. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • NETWORK_PROJECT_ID: die Projekt-ID des Netzwerks.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • REGION: die Region des Subnetzwerks.
    • RESERVATION: entweder der Name der Reservierung oder ein bestimmter Block innerhalb einer Reservierung. Informationen zum Abrufen des Reservierungsnamens oder der verfügbaren Blöcke finden Sie unter Reservierte Kapazität ansehen. Wählen Sie je nach Ihren Anforderungen an die Platzierung der Instanz eine der folgenden Optionen aus:
      • So erstellen Sie Instanzen über mehrere Blöcke hinweg oder in einem einzelnen Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Außerdem gilt Folgendes: Wenden Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierung an, die eine Block-Colocation (maxDistance=2) angibt. . Compute Engine wendet die Richtlinie dann auf die Reservierung an und erstellt Instanzen im selben Block.

      • So erstellen Sie Instanzen auf einem bestimmten Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Gibt an, ob Compute Engine die VM am Ende des Reservierungszeitraums beendet (STOP) oder löscht (DELETE).

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Anfragetext das folgende instanceProperties-Unterfeld hinzu:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID der Richtlinie für kompakte Platzierung.
    • REGION: die Region der Richtlinie für kompakte Platzierung.
    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Senden Sie die Anfrage.

Spot

Fügen Sie vor dem Senden der Anfrage optional das Unterfeld instanceProperties für eine Richtlinie für kompakte Platzierung in den Anfragetext ein.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die VM erstellen möchten.
    • ZONE: Geben Sie eine Zone an, in der der Maschinentyp verfügbar ist, den Sie verwenden möchten. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • VM_NAME: der Name der VM.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise entweder cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher oder rocky-linux-accelerator-cloud für das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-Mega-Maschinenserie empfehlen wir dringend, entweder das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren oder das Rocky Linux-Image rocky-linux-8-optimized-gcp-nvidia-580 zu verwenden. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • NETWORK_PROJECT_ID: die Projekt-ID des Netzwerks.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • REGION: die Region des Subnetzwerks.
    • TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entweder STOP (Standard) oder DELETE.

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Anfragetext das folgende instanceProperties-Unterfeld hinzu:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID der Richtlinie für kompakte Platzierung.
    • REGION: die Region der Richtlinie für kompakte Platzierung.
    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Senden Sie die Anfrage.

A3 High

Wenn Sie VMs im Bulk erstellen möchten, senden Sie eine POST-Anfrage an die Methode instances.bulkInsert.

Die Parameter, die Sie angeben müssen, hängen von der Verbrauchsoption ab, die Sie für diese Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.

Reservierungsgebunden

Fügen Sie vor dem Senden der Anfrage optional das Unterfeld instanceProperties für eine Richtlinie für kompakte Platzierung in den Anfragetext ein.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die VM erstellen möchten.
    • ZONE: Geben Sie eine Zone an, in der der Maschinentyp verfügbar ist, den Sie verwenden möchten. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • VM_NAME: der Name der VM.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-High-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • NETWORK_PROJECT_ID: die Projekt-ID des Netzwerks.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • REGION: die Region des Subnetzwerks.
    • RESERVATION: entweder der Name der Reservierung oder ein bestimmter Block innerhalb einer Reservierung. Informationen zum Abrufen des Reservierungsnamens oder der verfügbaren Blöcke finden Sie unter Reservierte Kapazität ansehen. Wählen Sie je nach Ihren Anforderungen an die Platzierung der Instanz eine der folgenden Optionen aus:
      • So erstellen Sie Instanzen über mehrere Blöcke hinweg oder in einem einzelnen Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Außerdem gilt Folgendes: Wenden Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierung an, die eine Block-Colocation (maxDistance=2) angibt. . Compute Engine wendet die Richtlinie dann auf die Reservierung an und erstellt Instanzen im selben Block.

      • So erstellen Sie Instanzen auf einem bestimmten Block:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Gibt an, ob Compute Engine die VM am Ende des Reservierungszeitraums beendet (STOP) oder löscht (DELETE).

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Anfragetext das folgende instanceProperties-Unterfeld hinzu:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID der Richtlinie für kompakte Platzierung.
    • REGION: die Region der Richtlinie für kompakte Platzierung.
    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Senden Sie die Anfrage.

Spot

Fügen Sie vor dem Senden der Anfrage optional das Unterfeld instanceProperties für eine Richtlinie für kompakte Platzierung in den Anfragetext ein.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Gehen Sie folgendermaßen vor:

  1. Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die VM erstellen möchten.
    • ZONE: Geben Sie eine Zone an, in der der Maschinentyp verfügbar ist, den Sie verwenden möchten. Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: das Namensmuster der VMs. Wenn Sie z. B. vm-# für das Namensmuster verwenden, werden VMs mit Namen wie vm-1 und vm-2 bis zu der durch --count angegebenen Anzahl von VMs erzeugt.
    • COUNT: die Anzahl der zu erstellenden VMs.
    • MACHINE_TYPE ist der für die VM zu verwendende Maschinentyp. Geben Sie entweder einen A4- oder einen A3-Ultra-Maschinentyp an. Weitere Informationen finden Sie unter GPU-Maschinentypen.
    • VM_NAME: der Name der VM.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB.
    • DISK_TYPE: der Typ des Bootlaufwerks. Wir empfehlen, hyperdisk-balanced zu nutzen.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images. Verwenden Sie beispielsweise cos-cloud für das Container-Optimized OS-Image cos-121-lts oder höher.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Für die A3-High-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • NETWORK_PROJECT_ID: die Projekt-ID des Netzwerks.
    • GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze angegeben haben, die gVNIC-NICs verwenden.
    • REGION: die Region des Subnetzwerks.
    • TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entweder STOP (Standard) oder DELETE.

  2. Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Anfragetext das folgende instanceProperties-Unterfeld hinzu:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID der Richtlinie für kompakte Platzierung.
    • REGION: die Region der Richtlinie für kompakte Platzierung.
    • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.
  3. Senden Sie die Anfrage.

Weitere Informationen zu den Konfigurationsoptionen beim Erstellen von VMs im Bulk finden Sie in der Compute Engine-Dokumentation unter VMs im Bulk erstellen.

Nächste Schritte