KI-optimierte Instanzen mit A4 oder A3 Ultra im Bulk erstellen

In diesem Dokument wird beschrieben, wie Sie VM-Instanzen (virtuelle Maschinen) im Bulk erstellen, die A4- oder A3-Ultra-Maschinentypen verwenden. Weitere Informationen zu diesen beschleunigungsoptimierten Maschinentypen finden Sie unter A4 oder A3 Ultra.

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 unter Übersicht über Bereitstellungsoptionen.

Beschränkungen

Wenn Sie A4- oder A3-Ultra-VMs im Bulk erstellen, gelten die folgenden Einschränkungen:

A4

  • Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A4-Maschinentyp verwenden.
  • Sie können einen A4-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
  • Sie können keinen nichtflüchtigen Speicher (regional oder zonenbasiert) verwenden. Sie können nur Google Cloud Hyperdisk verwenden.
  • Der A4-Maschinentyp ist nur auf der Emerald Rapids-CPU-Plattform verfügbar.
  • Sie können den Maschinentyp einer Instanz nicht in einen A4-Maschinentyp ändern oder von einem A4-Maschinentyp weg ändern. Sie müssen eine neue Instanz mit diesem Maschinentyp erstellen.
  • A4-Maschinentypen unterstützen keine einzelnen Mandanten.
  • Sie können Windows-Betriebssysteme nicht auf einem A4-Maschinentyp ausführen.
  • Bei A4-Instanzen werden die Zähler für physische Ports, die mit _phy enden, nicht aktualisiert, wenn Sie ethtool -S verwenden, um das GPU-Netzwerk zu überwachen. Dies ist das erwartete Verhalten für Instanzen, die die MRDMA-Architektur für virtuelle Funktionen (VF) verwenden. Weitere Informationen finden Sie unter MRDMA-Funktionen und Tools zur Netzwerküberwachung.
  • Sie können Hyperdisk ML-Laufwerke, die vor dem 4. Februar 2026 erstellt wurden, nicht an A4-Maschinentypen anhängen.

A3 Ultra

  • Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A3-Ultra-Maschinentyp verwenden.
  • Sie können einen A3-Ultra-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
  • Sie können keinen nichtflüchtigen Speicher (regional oder zonenbasiert) verwenden. Sie können nur Google Cloud Hyperdisk verwenden.
  • Der A3-Ultra-Maschinentyp ist nur auf der Emerald Rapids-CPU-Plattform verfügbar.
  • Änderungen des Maschinentyps werden für den A3-Ultra-Maschinentyp nicht unterstützt. Wenn Sie zu diesem Maschinentyp wechseln oder ihn verlassen möchten, müssen Sie eine neue Instanz erstellen.
  • Sie können Windows-Betriebssysteme nicht auf einem A3-Ultra-Maschinentyp ausführen.
  • A3-Ultra-Maschinentypen unterstützen keine einzelnen Mandanten.
  • Bei A3 Ultra-Instanzen werden die Zähler für physische Ports, die mit _phy enden, nicht aktualisiert, wenn Sie ethtool -S verwenden, um das GPU-Netzwerk zu überwachen. Das ist das erwartete Verhalten für Instanzen, die die MRDMA-Architektur mit virtuellen Funktionen (VF) verwenden. Weitere Informationen finden Sie unter MRDMA-Funktionen und Tools zur Netzwerküberwachung.

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 „A4“ oder „A3 Ultra“ umfasst die folgenden Schritte:

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

VPC-Netzwerke erstellen

Wenn Sie das Netzwerk für den Maschinentyp A4 oder A3 Ultra einrichten möchten, erstellen Sie drei VPC-Netzwerke für die folgenden Netzwerkschnittstellen:

  • 2 reguläre VPC-Netzwerke für die gVNIC-Netzwerkschnittstellen (NIC). Sie werden für die Kommunikation zwischen Hosts verwendet.
  • Für die CX-7-NICs ist ein VPC-Netzwerk mit dem RoCE-Netzwerkprofil erforderlich. Das RoCE-VPC-Netzwerk muss acht Subnetze haben, ein Subnetz für jede CX-7-NIC. Diese NICs verwenden RDMA over Converged Ethernet (RoCE) und bieten so die Kommunikation mit hoher Bandbreite und niedriger Latenz, die für die GPU-zu-GPU-Kommunikation unerlässlich ist.

Weitere Informationen zur NIC-Anordnung finden Sie unter Netzwerkbandbreite und NIC-Anordnung prüfen.

Sie können die Netzwerke entweder manuell anhand der Anleitungen oder automatisch mit dem bereitgestellten Skript erstellen.

Anleitungen

So erstellen Sie die Netzwerke:

Für diese VPC-Netzwerke empfehlen wir, die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) auf einen höheren Wert festzulegen. Für den Maschinentyp A4 oder A3 Ultra wird eine MTU von 8896 Byte empfohlen. Die empfohlenen MTU-Einstellungen für andere GPU-Maschinentypen finden Sie unter MTU-Einstellungen für GPU-Maschinentypen.

Skript

So erstellen Sie die Netzwerke:

Für diese VPC-Netzwerke empfehlen wir, die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) auf einen höheren Wert festzulegen. Für den Maschinentyp A4 oder A3 Ultra wird eine MTU von 8896 Byte empfohlen. Die empfohlenen MTU-Einstellungen für andere GPU-Maschinentypen finden Sie unter MTU-Einstellungen für GPU-Maschinentypen.

  1. Verwenden Sie das folgende Skript, um VPC-Netzwerke für die gVNICs und CX-7-NICs zu erstellen.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    Ersetzen Sie Folgendes:

    • GVNIC_NAME_PREFIX: Das benutzerdefinierte Namenspräfix, das für die regulären VPC-Netzwerke und -Subnetze für die gVNICs verwendet werden soll.
    • RDMA_NAME_PREFIX: Das benutzerdefinierte Namenspräfix, das für das RoCE-VPC-Netzwerk und die Subnetze für die CX-7-NICs verwendet werden soll.
    • ZONE: Geben Sie eine Zone an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist, z. B. us-central1-a. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • REGION: Die Region, in der Sie die Subnetze erstellen möchten. Diese Region muss der angegebenen Zone entsprechen. Wenn Ihre Zone beispielsweise us-central1-a ist, lautet Ihre Region us-central1.
    • IP_RANGE: Der IP-Bereich, der für die SSH-Firewallregeln verwendet werden soll.
  2. Optional: Prüfen Sie die Netzwerkeinstellungen in der Google Cloud -Konsole, um zu bestätigen, dass die VPC-Netzwerkressourcen erfolgreich erstellt wurden:
    1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

      Zur Seite VPC-Netzwerke

    2. Suchen Sie in der Liste nach den Netzwerken, die Sie im vorherigen Schritt erstellt haben.
    3. Klicken Sie auf den Namen des Netzwerks, um die Subnetze, Firewallregeln und andere Netzwerkeinstellungen aufzurufen.

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-Ultra- oder A4-VMs im Bulk erstellen

Verwenden Sie eine der folgenden Methoden, um A3 Ultra- oder A4-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 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=hyperdisk-balanced \
    --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=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,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. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images.
    • 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_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.
    • RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der VPC-Netzwerke und ‑Subnetze angegeben haben, die RDMA-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=hyperdisk-balanced \
    --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=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,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. Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images.
    • 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_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.
    • RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der VPC-Netzwerke und ‑Subnetze angegeben haben, die RDMA-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

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":"hyperdisk-balanced",
          "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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "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.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. 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.
    • RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der VPC-Netzwerke und ‑Subnetze angegeben haben, die RDMA-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 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":"hyperdisk-balanced",
          "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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "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.
    • IMAGE_PROJECT: die Projekt-ID des Betriebssystem-Images.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. 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.
    • RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der VPC-Netzwerke und ‑Subnetze angegeben haben, die RDMA-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 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