KI-optimierte Instanzen mit A3 Edge im Bulk erstellen

In diesem Dokument wird beschrieben, wie Sie VM-Instanzen (virtuelle Maschinen) in großen Mengen erstellen, die beschleunigungsoptimierte Maschinentypen vom Typ A3 Edge verwenden. Weitere Informationen zum Maschinentyp finden Sie in der Compute Engine-Dokumentation unter A3 Edge.

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.

Hinweis

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 erhalten und verwenden. Weitere Informationen finden Sie unter Nutzungsoption auswählen.
  2. Kapazität abrufen: Der Vorgang 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.

Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:

Console

Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

gcloud

Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

gcloud init

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 und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

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 A3 Edge-Maschinentyp umfasst die folgenden Schritte:

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

VPC-Netzwerke erstellen

Damit die Kommunikation für Ihre GPU-VMs effizient ist, 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

Für A3 Edge 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 die Compute Engine, VMs zu erstellen, die so nah wie möglich beieinander liegen. Wenn Ihre Anwendung latenzempfindlich ist und maximale Kompaktheit erfordert, geben Sie beim Erstellen einer Richtlinie für kompakte Platzierungen das Feld maxDistance (Vorabversion) an. Ein niedrigerer Wert für maxDistance 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. Sie kann entweder angegeben (Vorschau, empfohlen) oder nicht angegeben werden (entfernen Sie das Flag --max-distance). Je nach Maschinentyp können Sie einen der folgenden Werte angeben:
    • So platzieren Sie VMs im selben Unterblock: 1
    • So platzieren Sie VMs im selben Block: 2
    • So platzieren Sie VMs in angrenzenden Blöcken: 3
    Achten Sie darauf, dass die Konfiguration für die maximale Entfernung die Maschinenserie und die Anzahl der VMs unterstützt, die Sie erstellen möchten. Weitere Informationen 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 die Region an, die die Zone enthält, in der Sie Instanzen erstellen möchten, und prüfen Sie, ob der Maschinentyp, den Sie verwenden möchten, in dieser Region 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 Betamethode 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. Sie kann entweder angegeben (Vorschau, empfohlen) oder nicht angegeben werden (entfernen Sie das Feld maxDistance). Je nach Maschinentyp können Sie einen der folgenden Werte angeben:
    • So platzieren Sie VMs im selben Unterblock: 1
    • So platzieren Sie VMs im selben Block: 2
    • So platzieren Sie VMs in angrenzenden Blöcken: 3
    Achten Sie darauf, dass die Konfiguration für die maximale Entfernung die Maschinenserie und die Anzahl der VMs unterstützt, die Sie erstellen möchten. Weitere Informationen 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 die Region an, die die Zone enthält, in der Sie Instanzen erstellen möchten, und prüfen Sie, ob der Maschinentyp, den Sie verwenden möchten, in dieser Region verfügbar ist. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.

A3 Edge-VMs im Bulk erstellen

Verwenden Sie eine der folgenden Methoden, um A3 Edge-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 Edge-VM den Befehl gcloud compute instances bulk create.

Verwenden Sie den Befehl gcloud compute instances bulk create, um Instanzen 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 Ihrer Nutzungsoption entspricht.

Reservierung

Bevor Sie den Befehl ausführen, sollten Sie alle folgenden Schritte durchgehen, um festzustellen, ob Sie zusätzliche Flags einfügen müssen.

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, das für die A3 Edge-Instanzen verwendet werden soll. Wenn Sie beispielsweise instance-# für das Namensmuster verwenden, werden A3 Edge-Instanzen mit Namen wie instance-1 und instance-2 bis zu der durch --count angegebenen Anzahl von A3 Edge-Instanzen erzeugt.
    • COUNT: die Anzahl der zu erstellenden A3 Edge-Instanzen.
    • MACHINE_TYPE: der für die A3 Edge-Instanz zu verwendende Maschinentyp. Weitere Informationen finden Sie unter GPU-Maschinentypen in der Compute Engine-Dokumentation.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Eine Liste aller unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme. Für die A3 Edge-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren.
    • 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. Für diese Maschinenserie empfehlen wir die Verwendung von hyperdisk-balanced. Weitere Informationen zu den unterstützten Laufwerkstypen für Ihren Maschinentyp finden Sie in der Compute Engine-Dokumentation unter GPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB. Weitere Informationen finden Sie je nach Art des Laufwerks unter Größenbeschränkungen für Google Cloud Hyperdisk oder Größenbeschränkungen für Persistent Disk.
    • 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 Bedarf an der 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 müssen Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierungen anwenden, 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 A3 Edge-Instanz 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

Bevor Sie den Befehl ausführen, sollten Sie alle folgenden Schritte durchgehen, um festzustellen, ob Sie zusätzliche Flags einfügen müssen.

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, das für die A3 Edge-Instanzen verwendet werden soll. Wenn Sie beispielsweise instance-# für das Namensmuster verwenden, werden A3 Edge-Instanzen mit Namen wie instance-1 und instance-2 bis zu der durch --count angegebenen Anzahl von A3 Edge-Instanzen erzeugt.
    • COUNT: die Anzahl der zu erstellenden A3 Edge-Instanzen.
    • MACHINE_TYPE: der für die A3 Edge-Instanz zu verwendende Maschinentyp. Weitere Informationen finden Sie unter GPU-Maschinentypen in der Compute Engine-Dokumentation.
    • IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten. Eine Liste aller unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme. Für die A3 Edge-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren.
    • 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. Für diese Maschinenserie empfehlen wir die Verwendung von hyperdisk-balanced. Weitere Informationen zu den unterstützten Laufwerkstypen für Ihren Maschinentyp finden Sie in der Compute Engine-Dokumentation unter GPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB. Weitere Informationen finden Sie je nach Art des Laufwerks unter Größenbeschränkungen für Google Cloud Hyperdisk oder Größenbeschränkungen für Persistent Disk.
    • 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 zum Erstellen von A3 Edge-VMs die Methode instances.bulkInsert.

Wenn Sie Instanzen 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 Ihrer Nutzungsoption entspricht.

Reservierung

Bevor Sie den Antrag einreichen, sollten Sie alle folgenden Schritte durchgehen, um zu entscheiden, ob Sie zusätzliche Felder einfügen möchten.

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 A3 Edge-Instanz 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 Platzierungen angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierungen verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: Das Namensmuster, das für die A3 Edge-Instanzen verwendet werden soll. Wenn Sie beispielsweise instance-# für das Namensmuster verwenden, werden A3 Edge-Instanzen mit Namen wie instance-1 und instance-2 bis zu der durch --count angegebenen Anzahl von A3 Edge-Instanzen erzeugt.
    • COUNT: die Anzahl der zu erstellenden A3 Edge-Instanzen.
    • MACHINE_TYPE: der für die A3 Edge-Instanz zu verwendende Maschinentyp. Weitere Informationen finden Sie unter GPU-Maschinentypen in der Compute Engine-Dokumentation.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB. Weitere Informationen finden Sie je nach Art des Laufwerks unter Größenbeschränkungen für Google Cloud Hyperdisk oder Größenbeschränkungen für Persistent Disk.
    • DISK_TYPE: der Typ des Bootlaufwerks. Für diese Maschinenserie empfehlen wir die Verwendung von hyperdisk-balanced. Weitere Informationen zu den unterstützten Laufwerkstypen für Ihren Maschinentyp finden Sie in der Compute Engine-Dokumentation unter GPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie.
    • 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. Eine Liste aller unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme. Für die A3 Edge-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren.
    • 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 Bedarf an der 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 müssen Sie für einen einzelnen Block eine Richtlinie für kompakte Platzierungen anwenden, 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 A3 Edge-Instanz 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

Bevor Sie den Antrag einreichen, sollten Sie alle folgenden Schritte durchgehen, um zu entscheiden, ob Sie zusätzliche Felder einfügen möchten.

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 A3 Edge-Instanz 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 Platzierungen angeben möchten, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierungen verwenden. Informationen zu Regionen finden Sie unter GPU-Verfügbarkeit nach Regionen und Zonen.
    • NAME_PATTERN: Das Namensmuster, das für die A3 Edge-Instanzen verwendet werden soll. Wenn Sie beispielsweise instance-# für das Namensmuster verwenden, werden A3 Edge-Instanzen mit Namen wie instance-1 und instance-2 bis zu der durch --count angegebenen Anzahl von A3 Edge-Instanzen erzeugt.
    • COUNT: die Anzahl der zu erstellenden A3 Edge-Instanzen.
    • MACHINE_TYPE: der für die A3 Edge-Instanz zu verwendende Maschinentyp. Weitere Informationen finden Sie unter GPU-Maschinentypen in der Compute Engine-Dokumentation.
    • DISK_SIZE: Die Größe des Bootlaufwerks in GB. Weitere Informationen finden Sie je nach Art des Laufwerks unter Größenbeschränkungen für Google Cloud Hyperdisk oder Größenbeschränkungen für Persistent Disk.
    • DISK_TYPE: der Typ des Bootlaufwerks. Für diese Maschinenserie empfehlen wir die Verwendung von hyperdisk-balanced. Weitere Informationen zu den unterstützten Laufwerkstypen für Ihren Maschinentyp finden Sie in der Compute Engine-Dokumentation unter GPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie.
    • 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. Eine Liste aller unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme. Für die A3 Edge-Maschinenserie empfehlen wir dringend, das Container-Optimized OS-Image cos-121-lts oder höher zu verwenden und automatische Updates zu deaktivieren.
    • 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