In diesem Dokument wird beschrieben, wie Sie eine große Anzahl von identischen und voneinander unabhängigen HPC-VM-Instanzen (High Performance Computing) erstellen. Die Instanzen verwenden H4D-Maschinentypen und werden auf reservierten Kapazitätsblöcken ausgeführt.
Weitere Informationen zum Erstellen von VMs im Bulk finden Sie unter Informationen zur Bulk-Erstellung von VMs. Wenn Sie Instanzen im Bulk erstellen möchten, die keine Reservierungen für erweiterte Clusterverwaltungsfunktionen verwenden, lesen Sie stattdessen VMs im Bulk erstellen.
Weitere Informationen zum Erstellen großer Cluster eng gekoppelter H4D-VMs finden Sie auf der Seite HPC-Cluster erstellen – Übersicht.
Hinweise
Verbrauchsoption auswählen: Wenn Sie Compute-Instanzen im Bulk erstellen und erweiterte Clusterverwaltungsfunktionen aktivieren möchten, können Sie eine vorausschauende Reservierung im Kalendermodus oder Spot-VMs auswählen.
Wenn Sie Spot-VMs verwenden, werden die VMs möglicherweise nicht kompakt nebeneinander platziert. Außerdem können Spot-VMs nach Bedarf vorzeitig beendet werden und sind nicht für die Verwaltung von Hostwartungsereignissen für Gruppen von VMs geeignet.
Kapazität abrufen: Der Prozess zum Abrufen von Kapazität unterscheidet sich für jede Verbrauchsoption.
Weitere Informationen finden Sie unter Nutzungsoption auswählen und Kapazität erhalten.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:
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
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
- Set a default region and zone.
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 initWenn 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
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von VMs im Bulk benötigen:
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1) -
Compute-Netzwerkadministrator (
roles/compute.networkAdmin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen von VMs im Bulk erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um VMs im Bulk zu erstellen:
compute.instances.createfür das Projekt-
Zum Erstellen der VM mit einem benutzerdefinierten Image:
compute.images.useReadOnlyfür das Image -
Zum Erstellen der VM mit einem Snapshot:
compute.snapshots.useReadOnlyfür den Snapshot -
Zum Erstellen der VM mit einer Instanzvorlage:
compute.instanceTemplates.useReadOnlyfür die Instanzvorlage -
Zum Angeben eines Subnetzes für Ihre VM:
compute.subnetworks.usefür das Projekt oder für das ausgewählte Subnetz -
Zum Festlegen einer statischen IP-Adresse für die VM:
compute.addresses.usefür das Projekt -
Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden:
compute.subnetworks.useExternalIpfür das Projekt oder für das ausgewählte Subnetz -
Zum Zuweisen eines Legacy-Netzwerks zur VM:
compute.networks.usefür das Projekt -
Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein Legacy-Netzwerk verwenden:
compute.networks.useExternalIpfür das Projekt -
Zum Festlegen von Metadaten der VM-Instanz für die VM:
compute.instances.setMetadatafür das Projekt -
Zum Festlegen von Tags für die VM:
compute.instances.setTagsfür die VM -
Zum Festlegen von Labels für die VM:
compute.instances.setLabelsfür die VM -
Zum Festlegen eines Dienstkontos für die VM:
compute.instances.setServiceAccountfür die VM -
Zum Erstellen eines neuen Laufwerks für die VM:
compute.disks.createfür das Projekt -
Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus:
compute.disks.usefür das Laufwerk -
Zum Anhängen eines vorhandenen Laufwerks im Lesemodus:
compute.disks.useReadOnlyfür das Laufwerk
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Übersicht
Das Erstellen von HPC-Instanzen im Bulk mit dem Maschinentyp „H4D“ umfasst die folgenden Schritte:
- Optional: Virtual Private Cloud-Netzwerke erstellen.
- Optional: Erstellen Sie eine Platzierungsrichtlinie, wenn Sie die Compute-Instanzen nicht im selben Block oder Unterblock erstellen.
- H4D-Instanzen im Bulk erstellen
Optional: Virtual Private Cloud-Netzwerke erstellen
Beim Erstellen einer Compute-Instanz können Sie ein VPC-Netzwerk und ein Subnetz angeben. Wenn Sie diese Konfiguration weglassen, werden das Standardnetzwerk und das Standardsubnetz verwendet.
- Wenn Sie die H4D-Instanzen in der MIG für die Verwendung von Cloud RDMA konfigurieren möchten, führen Sie die Schritte in diesem Abschnitt aus.
- Wenn Sie Cloud RDMA nicht verwenden möchten, können Sie diesen Abschnitt überspringen und stattdessen das Standardnetzwerk verwenden.
Wenn Sie Cloud RDMA mit H4D-Instanzen verwenden möchten, müssen Sie mindestens zwei Netzwerke konfigurieren, eines für jeden Typ von Netzwerkschnittstelle:
- NIC-Typ
GVNIC: verwendet den Treibergvefür TCP/IP- und Internet-Traffic für die normale VM-VM- und VM-Internet-Kommunikation. - NIC-Typ
IRDMA: Verwendet IDPF-/iRDMA-Treiber für Cloud RDMA-Netzwerke zwischen Instanzen.
Instanzen, die Cloud RDMA verwenden, können nur eine
IRDMA-Schnittstelle haben. Sie können bis zu acht zusätzlicheGVNIC-Netzwerkschnittstellen hinzufügen, sodass insgesamt 10 vNICs pro Instanz möglich sind.Sie können die Falcon-VPC-Netzwerke für die Verwendung mit Ihren Instanzen entweder anhand der dokumentierten Anleitung einrichten oder das bereitgestellte Skript verwenden.
Anleitungen
So erstellen Sie die Netzwerke:
Informationen zum Erstellen der Hostnetzwerke für die
GVNIC-Netzwerkschnittstellen finden Sie unter VPC-Netzwerke erstellen und verwalten.Wenn Sie nur eine
GVNIC-Netzwerkschnittstelle konfigurieren, können Sie das Standard-VPC-Netzwerk und das automatische Subnetz verwenden, das sich in derselben Region wie die Instanz befindet.Informationen zum Erstellen eines Netzwerks für die Netzwerkschnittstelle
IRDMAfinden Sie unter VPC-Netzwerk mit einem Falcon-VPC-Netzwerkprofil erstellen. Verwenden Sie den Standardwert für die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) für ein Falcon-VPC-Netzwerk, der8896beträgt.
Skript
Sie können pro Instanz bis zu neun gVNIC-Netzwerkschnittstellen und eine IRDMA-Netzwerkschnittstelle erstellen. Jede Netzwerkschnittstelle muss mit einem separaten Netzwerk verbunden sein. Sie können die Netzwerke mit dem folgenden Skript erstellen, das zwei Netzwerke für gVNIC und ein Netzwerk für IRDMA erstellt.
- Optional: Bevor Sie das Skript ausführen, können Sie die Falcon VPC-Netzwerkprofile auflisten, um zu prüfen, ob eines verfügbar ist.
gcloud compute network-profiles list
Kopieren Sie den folgenden Code und führen Sie ihn in einem Linux-Shell-Fenster aus.
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom 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 # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface 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 # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet rangesErsetzen Sie Folgendes:
NUMBER_OF_GVNIC: die Anzahl der zu erstellenden GVNIC-Schnittstellen. Geben Sie eine Zahl zwischen 1 und 9 an.GVNIC_NAME_PREFIX: Das Namenspräfix, das für das reguläre VPC-Netzwerk und -Subnetz verwendet werden soll, das den NIC-Typ „GVNIC“ verwendet.REGION: Die Region, in der Sie die Netzwerke erstellen möchten. Dies muss der Zone entsprechen, die beim Erstellen des Falcon-VPC-Netzwerks für das Flag--network-profileangegeben wurde. Wenn Sie beispielsweise die Zone alseurope-west4-bangeben, lautet Ihre Regioneurope-west4.IP_RANGE: Der Bereich der IP-Adressen außerhalb des VPC-Netzwerk, der für die SSH-Firewallregeln verwendet werden soll. Als Best Practice sollten Sie statt aller IPv4- oder IPv6-Quellen die spezifischen IP-Adressbereiche angeben, von denen aus Sie Zugriff gewähren möchten. Verwenden Sie nicht0.0.0.0/0oder::/0als Quellbereich, da dadurch Traffic von allen IPv4- oder IPv6-Quellen zugelassen wird, einschließlich Quellen außerhalb von Google Cloud.RDMA_NAME_PREFIX: Das Namenspräfix, das für das VPC-Netzwerk und das Subnetz verwendet werden soll, die den IRDMA-NIC-Typ verwenden.ZONE: Die Zone, in der Sie die Netzwerke und Compute-Instanzen erstellen möchten. Verwenden Sie entwederus-central1-aodereurope-west4-b.
Optional: Wenn Sie prüfen möchten, ob die VPC-Netzwerkressourcen erfolgreich erstellt wurden, sehen Sie sich die Netzwerkeinstellungen in der Google Cloud Console an:
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Suchen Sie in der Liste nach den Netzwerken, die Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf den Namen des Netzwerks, um die Subnetze, Firewallregeln und andere Netzwerkeinstellungen aufzurufen.
Optional: Platzierungsrichtlinie 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
Wählen Sie eine der folgenden Optionen aus, um eine Richtlinie für kompakte Platzierung zu erstellen:maxDistance(Vorabversion) an. Ein niedrigerermaxDistance-Wert sorgt für eine engere VM-Platzierung, erhöht aber auch die Wahrscheinlichkeit, dass einige VMs nicht erstellt werden.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=REGIONErsetzen Sie Folgendes:
POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.MAX_DISTANCE: die maximale Entfernung zwischen den VMs. Der Wert muss3sein, um VMs in den benachbarten Blöcken zu platzieren, oder2, um VMs im selben Block zu platzieren. Informationen zur maximalen Anzahl von VMs, die für jedemaxDistancepro 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 Verfügbare Regionen und Zonen.
REST
Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung eine
POST-Anfrage an die MethoderesourcePolicies.insert. Geben Sie im Anfragetext das Feldcollocationan, das aufCOLLOCATEDgesetzt ist, sowie das FeldmaxDistance.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 muss3sein, um VMs in den benachbarten Blöcken zu platzieren, oder2, um VMs im selben Block zu platzieren. Informationen zur maximalen Anzahl von VMs, die für jedemaxDistancepro 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 Verfügbare Regionen und Zonen.
VM-Instanzen im Bulk erstellen
In diesem Abschnitt wird beschrieben, wie Sie H4D-VMs im Bulk erstellen.
Beachten Sie die folgenden Einschränkungen, bevor Sie H4D-Instanzen mit Cloud RDMA erstellen:
- Sie können die Live-Migration während Hostwartungsereignissen nicht für Instanzen mit einer Cloud RDMA-Netzwerkschnittstelle verwenden. Sie müssen die Instanz so konfigurieren, dass sie während Wartungsereignissen beendet wird.
- Die gVNIC-Netzwerkschnittstelle kann nur eine IPv6-Adresse haben, entweder intern oder extern, aber nicht beides.
Sie können nur IPv4-Adressen mit IRDMA-Netzwerkschnittstellen und Falcon-VPC-Netzwerken verwenden.
gcloud
Verwenden Sie den Befehl
gcloud compute instances 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 Option für die Nutzung entspricht.
Reservierungsgebunden
Beginnen Sie mit dem folgenden
gcloud compute instances create-Befehl.gcloud compute instances bulk create \ --name-pattern=NAME_PATTERN \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image=project= IMAGE_PROJECT \ --instance-termination=action=DELETE \ --maintenance-policy=TERMINATE \ --region=REGION \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZEGehen Sie folgendermaßen vor:
Ersetzen Sie Folgendes:
NAME_PATTERN: das Namensmuster für die Instanzen. Wenn Sie beispielsweisevm-#für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1undvm-2bis zu der durch das Flag--countangegebenen Anzahl erstellt.COUNT: die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd.IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp.Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.
IMAGE_PROJECT: die Projekt-ID für das Betriebssystem-Image, z. B.rocky-linux-cloud.REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist, z. B.europe-west4. Informationen zu verfügbaren Regionen finden Sie unter Verfügbare Regionen und Zonen.DISK_SIZE(optional): Die Größe des Bootlaufwerks in GiB. Wert muss eine ganze Zahl sein.
Optional: Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie das Flag
--resource-policiesein:--resource-policies=POLICY_NAMEErsetzen Sie POLICY_NAME durch den Namen der Richtlinie für kompakte Platzierung.
Geben Sie die Reservierung auf eine der folgenden Arten an:
-
Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, fügen Sie dem Befehl die folgenden Flags hinzu:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=RESERVATION_NAME \Ersetzen Sie RESERVATION_NAME durch den Namen der Reservierung, z. B.
h4d-highmem-exfr-prod. -
Wenn Sie keine Richtlinie für kompakte Platzierung verwenden und die Instanzen in einem bestimmten Block platziert werden sollen, fügen Sie dem Befehl die folgenden Flags hinzu:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=<RESERVATION_BLOCK_NAME \Ersetzen Sie RESERVATION_BLOCK_NAME durch den Namen eines Blocks in der Reservierung, z. B.
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Informationen zum Anzeigen des Reservierungsnamens oder der verfügbaren Reservierungsblöcke finden Sie unter Kapazität ansehen.
-
-
Optional: Wenn Sie die Instanzen für die Verwendung von Cloud RDMA konfigurieren möchten, fügen Sie dem Befehl Flags hinzu, die den folgenden ähneln. In diesem Beispiel werden zwei GVNIC-Netzwerkschnittstellen und eine IRDMA-Netzwerkschnittstelle konfiguriert:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Ersetzen Sie Folgendes:
GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der ersten GVNIC-Netzwerkschnittstelle können Sie die Flags
networkundsubnetweglassen und stattdessen dasdefault-Netzwerk verwenden.STACK_TYPE(optional): der Stacktyp für die GVNIC-Netzwerkschnittstelle.STACK_TYPEmussIPV4_ONLYoderIPV4_IPV6sein. Der Standardwert istIPV4_ONLY.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben. Führen Sie einen der folgenden Schritte aus:- Geben Sie eine gültige IPv4-Adresse aus dem Subnetz an.
- Verwenden Sie stattdessen das Flag
no-address, wenn die Netzwerkschnittstelle keine externe IP-Adresse haben soll. - Geben Sie
address=''an, wenn die Schnittstelle eine sitzungsspezifische externe IP-Adresse erhalten soll.
Verwenden Sie stattdessen das Flag
--external-ipv6-address, um eine externe IPv6-Adresse anzugeben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.
- Optional: Fügen Sie weitere Flags hinzu, um die restlichen Instanzeigenschaften nach Bedarf anzupassen.
- Führen Sie den Befehl aus.
Spot
Beginnen Sie mit dem folgenden
gcloud compute instances create-Befehl.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 \ --provisioning-model=SPOT \ --instance-termination=action=TERMINATION_ACTIONGehen Sie folgendermaßen vor:
Ersetzen Sie Folgendes:
NAME_PATTERN: das Namensmuster für die Instanzen. Wenn Sie beispielsweisevm-#für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1undvm-2bis zu der durch das Flag--countangegebenen Anzahl erstellt.COUNT: die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd.IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp.Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.
IMAGE_PROJECT: die Projekt-ID für das Betriebssystem-Image, z. B.rocky-linux-cloud.REGION: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist, z. B.europe-west4. Informationen zu verfügbaren Regionen finden Sie unter Verfügbare Regionen und Zonen.DISK_SIZE(optional): die Größe des Bootlaufwerks in GiB. Wert muss eine ganze Zahl sein.TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entwederSTOP(Standard) oderDELETE.
-
Optional: Wenn Sie eine Richtlinie für kompakte Platzierungen verwenden möchten, fügen Sie dem Befehl das folgende Flag hinzu:
--resource-policies=POLICY_NAME \Ersetzen Sie
POLICY_NAMEdurch den Namen der Richtlinie für kompakte Platzierung. -
Optional: Wenn Sie die Instanzen für die Verwendung von Cloud RDMA konfigurieren möchten, fügen Sie dem Befehl Flags hinzu, die den folgenden ähneln. In diesem Beispiel werden zwei GVNIC-Netzwerkschnittstellen und eine IRDMA-Netzwerkschnittstelle konfiguriert:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Ersetzen Sie Folgendes:
GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der ersten GVNIC-Netzwerkschnittstelle können Sie die Flags
networkundsubnetweglassen und stattdessen dasdefault-Netzwerk verwenden.STACK_TYPE(optional): der Stacktyp für die GVNIC-Netzwerkschnittstelle.STACK_TYPEmussIPV4_ONLYoderIPV4_IPV6sein. Der Standardwert istIPV4_ONLY.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben. Führen Sie einen der folgenden Schritte aus:- Geben Sie eine gültige IPv4-Adresse aus dem Subnetz an.
- Verwenden Sie stattdessen das Flag
no-address, wenn die Netzwerkschnittstelle keine externe IP-Adresse haben soll. - Geben Sie
address=''an, wenn die Schnittstelle eine sitzungsspezifische externe IP-Adresse erhalten soll.
Verwenden Sie stattdessen das Flag
--external-ipv6-address, um eine externe IPv6-Adresse anzugeben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.
- Optional: Fügen Sie weitere Flags hinzu, um die restlichen Instanzeigenschaften nach Bedarf anzupassen.
- Führen Sie den Befehl aus.
REST
Wenn Sie VM-Instanzen im Bulk erstellen möchten, senden Sie eine
POST-Anfrage an die Methodeinstances.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 Option für die Nutzung entspricht.
Reservierungsgebunden
Beginnen Sie mit der folgenden
POST-Anfrage an die Methodeinstances.bulkInsert.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" } ], "scheduling":{ "provisioningModel":"RESERVATION_BOUND", "instanceTerminationAction":"DELETE", "onHostMaintenance": "TERMINATE", "automaticRestart":true } } }Gehen Sie folgendermaßen vor:
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die Instanzen erstellen möchten.ZONE: Geben Sie eine Zone an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung verwenden, wählen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung aus. Informationen zu den Regionen, in denen H4D-Maschinentypen verfügbar sind, finden Sie unter Verfügbare Regionen und Zonen.NAME_PATTERN: das Namensmuster für die Instanzen. Wenn Sie z. B.vm-#für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1undvm-2bis zu der durch das Feldcountangegebenen Anzahl erzeugt.COUNT: die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd.DISK_SIZE: Die Größe des Bootlaufwerks in GiB.IMAGE_PROJECT: die Projekt-ID für das Betriebssystem-Image, z. B.debian-cloud.IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp. Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.
Optional: Wenn Sie eine Richtlinie für kompakte Platzierungen verwenden möchten, fügen Sie den Parameter
resourcePoliciesin den Anfragetext als Teil des Parameters"instanceProperties"ein."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],Ersetzen Sie POLICY_NAME durch den Namen der Richtlinie für kompakte Platzierung.
-
Geben Sie die Reservierung auf eine der folgenden Arten an:
-
Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, fügen Sie dem Anfragetext im Rahmen des Parameters
"instanceProperties"Folgendes hinzu:"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_NAME" ], },Ersetzen Sie RESERVATION_NAME durch den Namen der Reservierung, z. B.
h4d-highmem-exfr-prod. -
Wenn Sie keine Richtlinie für kompakte Platzierung verwenden oder die Instanzen in einem bestimmten Block platziert werden sollen, fügen Sie dem Anfragetext im Rahmen des Parameters
"instanceProperties"Folgendes hinzu:"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_BLOCK_NAME" ], },Ersetzen Sie RESERVATION_BLOCK_NAME durch den Namen eines Blocks in der Reservierung, z. B.
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Informationen zum Anzeigen des Reservierungsnamens oder der verfügbaren Reservierungsblöcke finden Sie unter Kapazität ansehen.
-
Wenn Sie die Instanzen für die Verwendung von Cloud RDMA konfigurieren möchten, fügen Sie dem Anfragetext als Teil des Parameters
"instanceProperties"einen Parameterblock ein, der dem folgenden ähnelt. In diesem Beispiel werden zwei GVNIC-Netzwerkschnittstellen und eine IRDMA-Netzwerkschnittstelle konfiguriert:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Ersetzen Sie Folgendes:
GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der GVNIC-Netzwerkschnittstelle können Sie die Felder
networkundsubnetworkweglassen und stattdessen dasdefault-Netzwerk verwenden.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.
- Optional: Passen Sie die restlichen Instanzeigenschaften nach Bedarf an.
- Senden Sie die Anfrage.
Spot
Beginnen Sie mit der folgenden
POST-Anfrage an die Methodeinstances.bulkInsert.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" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }Gehen Sie folgendermaßen vor:
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die Instanzen erstellen möchten.ZONE: Geben Sie eine Zone an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung verwenden, wählen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung aus. Informationen zu den Regionen, in denen H4D-Maschinentypen verfügbar sind, finden Sie unter Verfügbare Regionen und Zonen.NAME_PATTERN: das Namensmuster für die Instanzen. Wenn Sie z. B.vm-#für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1undvm-2bis zu der durch das Feldcountangegebenen Anzahl erzeugt.COUNT: die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd.DISK_SIZE: die Größe des Bootlaufwerks in GiB.IMAGE_PROJECT: die Projekt-ID für das Betriebssystem-Image, z. B.debian-cloud.IMAGE_FAMILY: die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp. Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.TERMINATION_ACTION: Die Aktion, die ausgeführt werden soll, wenn Compute Engine die Instanz vorzeitig beendet, entwederSTOP(Standard) oderDELETE.
Optional: Wenn Sie eine Richtlinie für kompakte Platzierungen verwenden möchten, fügen Sie den Parameter
resourcePoliciesals Teil des Parameters"instanceProperties"ein."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Wenn Sie die Instanzen für die Verwendung von Cloud RDMA konfigurieren möchten, fügen Sie dem Anfragetext als Teil des Parameters
"instanceProperties"einen Parameterblock ein, der dem folgenden ähnelt. In diesem Beispiel werden zwei GVNIC-Netzwerkschnittstellen und eine IRDMA-Netzwerkschnittstelle konfiguriert:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Ersetzen Sie Folgendes:
GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der GVNIC-Netzwerkschnittstelle können Sie die Felder
networkundsubnetworkweglassen und stattdessen dasdefault-Netzwerk verwenden.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerks und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.
- Optional: Passen Sie die restlichen Instanzeigenschaften nach Bedarf an.
- Senden Sie die Anfrage.
Nächste Schritte
- H4D-Clustertopologie ansehen
- Verbindung zu Linux-VMs herstellen
- MPI-Anwendungen auf H4D-VMs mit Cloud RDMA einrichten und skalieren.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-12-04 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-12-04 (UTC)."],[],[]] -