In dieser Anleitung wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, die einen H4D-Maschinentyp verwendet. In der MIG werden Flex-Start-VMs erstellt – VM-Instanzen, die bis zu sieben Tage lang zu einem reduzierten Preis ausgeführt werden. Wenn VMs auf diese Weise erstellt werden, platziert Compute Engine sie in unmittelbarer Nähe, um die Netzwerklatenz zu minimieren. Daher eignen sie sich ideal für die Ausführung von HPC-Arbeitslasten.
Wenn Sie eine MIG erstellen, können Sie mehrere VMs als eine einzige Entität verwalten. Jede VM in einer MIG basiert auf einer Instanzvorlage. Durch die automatische Verwaltung der VMs in der Gruppe bieten MIGs Hochverfügbarkeit und Skalierbarkeit. Weitere Informationen zu MIGs
Informationen zu den Optionen zum Erstellen von HPC-VMs und HPC-Clustern finden Sie unter HPC-Cluster erstellen – Übersicht.
Diese Anleitung richtet sich an HPC-Entwickler, Plattformadministratoren und ‑betreiber sowie an Daten- und MPI-Spezialisten, die eine Gruppe miteinander verbundener HPC-Instanzen für kurzzeitige Arbeitslasten erstellen möchten. Die resultierenden Instanzen verwenden keinen Orchestrator für die Instanzverwaltung oder die Jobplanung.
Ziele
- Optional: Kontingent auf Abruf anfordern.
- Optional: Virtual Private Cloud-Netzwerke erstellen.
- Optional: Erstellen Sie eine Arbeitslastrichtlinie.
- Erstellen Sie eine Instanzvorlage.
- Erstellen Sie eine MIG und eine Anfrage zur Größenanpassung.
- bereinigen.
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Cloud de Confiance by S3NSverwendet, darunter:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
-
Installieren Sie die Google Cloud CLI.
-
Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.
Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Cloud de Confiance Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Cloud de Confiance -Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Cloud de Confiance -Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Cloud de Confiance Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Cloud de Confiance .
-
Prüfen Sie, ob für Ihr Cloud de Confiance Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die erforderliche API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud services enable compute.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzerkonto Konto. Beispiele finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
Optional: Kontingent auf Abruf anfordern
Die der MIG hinzugefügten VM-Instanzen verbrauchen regionales Kontingent. Die Kontingente für VM-Instanzen, Instanzgruppen, CPUs und Festplatten können unabhängig von der Zone von jeder beliebigen VM-Instanz in der Region genutzt werden.
Bei Verwendung von Flex-Start kann das Kontingent entweder Standardkontingent oder Kontingent auf Abruf sein.
- Standardkontingent: Wenn für Ihr Projekt kein Kontingent auf Abruf vorhanden ist und Sie noch nie ein Kontingent auf Abruf angefordert haben, werden die Instanzressourcen im Rahmen des Standardkontingents verbraucht.
- Kontingent auf Abruf: Wenn Sie Kontingente auf Abruf anfordern, können Sie die Verfügbarkeit von Kontingenten verbessern, da separate Kontingente für temporäre Ressourcen bereitgestellt werden. Nachdem Ihnen von Compute Engine ein Kontingent auf Abruf in einer Region zugeteilt wurde, wird für alle entsprechenden Ressourcen jedoch nur das Kontingent auf Abruf verwendet. Wenn dieses Kontingent ausgeschöpft ist, müssen Sie ein zusätzliches Kontingent auf Abruf für die VM-Ressourcen anfordern.
Sie können ein unterbrechbares Kontingent beantragen, indem Sie der Anleitung unter Kontingentanpassung beantragen folgen.
Erforderliche Kontingenttypen
Zum Verwenden von Instanzgruppen benötigen Sie ein verfügbares Kontingent für alle Ressourcen, die die Gruppe nutzt (beispielsweise ein CPU-Kontingent), sowie ein verfügbares Kontingent für die Gruppenressource selbst. Für H4D-Instanzen können je nach Maschinentyp der Instanzen die folgenden Kontingenttypen verwendet werden:
| Ressource | Standardkontingent | Kontingent auf Abruf |
|---|---|---|
| CPUs | CPUS_PER_VM_FAMILY |
Preemptible CPUs |
| Lokale SSDs | Local SSD per machine family (GB) |
Preemptible Local SSDs (GB) |
Zum Erstellen der Ressourcen in dieser Anleitung ist möglicherweise das folgende zusätzliche regionale Kontingent erforderlich:
- Zonal (einzelne Zone) verwaltete Instanzgruppe:
Instance group managersundInstance groups Google Cloud Hyperdisk:
Hyperdisk Balanced Capacity (GB)Hyperdisk Balanced Throughput (MB/s)Hyperdisk Balanced IOPS
Optional: VPC-Netzwerke erstellen
Sofern Sie diese Option nicht deaktivieren, hat jedes Projekt ein Standardnetzwerk, das verwendet werden kann, um Netzwerkverbindungen für Ihre Instanzen bereitzustellen. Beim Erstellen einer VM können Sie ein VPC-Netzwerk und ein Subnetz angeben. Wenn Sie diese Konfiguration weglassen, werden das Standardnetzwerk und das Standardsubnetz verwendet.
H4D-Instanzen können für die Verwendung von Cloud RDMA konfiguriert werden. Cloud RDMA ermöglicht zuverlässiges Messaging mit geringer Latenz mithilfe eines IRDMA-Netzwerktreibers, der RDMA (Remote Direct Memory Access) zwischen Compute Engine-Instanzen unterstützt.
Für diese Anleitung gilt:
- Wenn Sie die H4D-Instanzen 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.
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-Netzwerk 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 Cloud de Confiance by S3NS.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 Cloud de Confiance Console an:
- Rufen Sie in der Cloud de Confiance 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: Arbeitslastrichtlinie erstellen
Wenn Sie möchten, dass Compute Engine VM-Instanzen in einem einzelnen Block oder in benachbarten Blöcken platziert, geben Sie die Instanzplatzierung an, indem Sie eine Arbeitslastrichtlinie erstellen. Wenn Sie jedoch möchten, dass Compute Engine Ihre Instanzen in einem bestimmten Block platziert, überspringen Sie diesen Schritt und geben Sie den Namen des Blocks in der Reservierungsaffinität an, wenn Sie die Instanzvorlage erstellen.
Wählen Sie eine der folgenden Optionen aus, um eine Arbeitslastrichtlinie zu erstellen:
gcloud
Verwenden Sie zum Erstellen einer Workload-Richtlinie den
Befehl gcloud compute resource-policies create workload-policy.
-
Wenn Sie eine Best-Effort-Platzierung von VMs wünschen, geben Sie das Flag
--type=high-throughputim Befehl an:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
Für die strikte Colocation von VMs geben Sie die Flags
--max-topology-distanceund--type=high-throughputim Befehl an:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
Ersetzen Sie Folgendes:
WORKLOAD_POLICY_NAME: Der Name der Arbeitslastrichtlinie.TOPOLOGY_DISTANCE: Der maximale Topologieabstand. Geben Sie einen der folgenden Werte an:- So platzieren Sie VMs im selben Unterblock:
SUBBLOCK - So platzieren Sie VMs im selben Block:
BLOCK - So platzieren Sie VMs im selben Cluster:
CLUSTER
Hinweis:Ein kürzerer maximaler Abstand kann die Wahrscheinlichkeit der VM-Verfügbarkeit verringern. Weitere Informationen finden Sie unter Attribut „Maximaler Topologieabstand“.- So platzieren Sie VMs im selben Unterblock:
REGION: Die Region, in der Sie die Arbeitslastrichtlinie erstellen möchten. Geben Sie eine Region an, in der Sie die MIG erstellen möchten und in der der gewünschte Maschinentyp verfügbar ist. Informationen zu Regionen und Zonen finden Sie unter Verfügbare Regionen und Zonen.
REST
Senden Sie zum Erstellen einer Arbeitslastrichtlinie eine POST-Anfrage an die Methode resourcePolicies.insert.
-
Wenn Sie eine Best-Effort-Platzierung von VMs wünschen, geben Sie das Feld
typein der Anfrage so an:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
Wenn Sie eine strikte Colocation von VMs erzwingen möchten, geben Sie die Felder
maxTopologyDistanceundtypein der Anfrage so an:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.REGION: Die Region, in der Sie die Arbeitslastrichtlinie erstellen möchten. Geben Sie eine Region an, in der Sie die MIG erstellen möchten und in der der Maschinentyp verfügbar ist, den Sie verwenden möchten. Informationen zu Regionen und Zonen finden Sie unter Verfügbare Regionen und Zonen.WORKLOAD_POLICY_NAME: Der Name der Arbeitslastrichtlinie.TOPOLOGY_DISTANCE: Der maximale Topologieabstand. Geben Sie einen der folgenden Werte an:- So platzieren Sie VMs im selben Unterblock:
SUBBLOCK - So platzieren Sie VMs im selben Block:
BLOCK - So platzieren Sie VMs im selben Cluster:
CLUSTER
Hinweis:Ein kürzerer maximaler Abstand kann die Wahrscheinlichkeit der VM-Verfügbarkeit verringern. Weitere Informationen finden Sie unter Attribut „Maximaler Topologieabstand“.- So platzieren Sie VMs im selben Unterblock:
Instanzvorlage erstellen
Wenn Sie die Verbrauchsoption „Flex-Start“ verwenden möchten, erstellen Sie eine leere MIG und dann eine Anfrage zur Größenanpassung für die MIG. Wenn die angeforderte Kapazität verfügbar wird, stellt Compute Engine sie bereit und erstellt die Instanzen in der MIG. Sie erhalten Ressourcen für bis zu sieben Tage.
Wenn Sie die Instanz- und Verbrauchsattribute für jede Instanz in der verwalteten Instanzgruppe angeben möchten, erstellen Sie eine Instanzvorlage mit einer der folgenden Methoden:
gcloud
Verwenden Sie zum Erstellen einer regionalen Instanzvorlage den
Befehl gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-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, \
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 \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
Ersetzen Sie Folgendes:
INSTANCE_TEMPLATE_NAMEist der Name der Instanzvorlage.MACHINE_TYPE: der für die Instanz zu verwendende H4D-Maschinentyp.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: die Region, in der Sie die Instanzvorlage erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist.DISK_SIZE: Die Größe des Bootlaufwerks in GiB.GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze für die gVNIC-Schnittstellen verwendet haben.Wenn Sie das Standardnetzwerk verwenden, geben Sie nur ein einzelnes
--network-interface-Feld an, wobei das Feldnic-typeaufGVNICfestgelegt ist. Lassen Sie außerdem die Einstellungennetworkundsubnetworkfür diese Netzwerkschnittstelle weg.STACK_TYPE(optional): der Stacktyp, der für die gVNIC-Schnittstelle verwendet werden soll. Geben Sie entwederIPV4_ONLYoderIPV4_IPV6an. Wenn Sie keinen Wert angeben, wird standardmäßigIPV4_ONLYverwendet.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der gVNIC-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 das Flag
no-address, wenn die Netzwerkschnittstelle keine externe IP-Adresse haben soll. - Geben Sie
address=''an, wenn die Netzwerkschnittstelle eine sitzungsspezifische externe IP-Adresse erhalten soll.
Verwenden Sie stattdessen das Flag
--external-ipv6-address, um eine externe IPv6-Adresse für die GVNIC-Netzwerkschnittstelle anzugeben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die IRDMA-Netzwerkschnittstelle verwendet haben.Wenn Sie Cloud RDMA nicht mit Ihren H4D-Instanzen verwenden, lassen Sie das Feld
--network-interfacefür die IRDMA-Schnittstelle weg.RUN_DURATION: durch die Dauer, für die die angeforderten Instanzen ausgeführt werden sollen. Sie müssen den Wert als Anzahl von Tagen, Stunden, Minuten oder Sekunden gefolgt vond,h,mbzw.sformatieren. Geben Sie beispielsweise30mfür 30 Minuten oder1d2h3m4sfür einen Tag, zwei Stunden, drei Minuten und vier Sekunden an. Der Wert muss zwischen 10 Minuten und 7 Tagen liegen.
REST
Senden Sie zum Erstellen einer regionalen Instanzvorlage eine POST-Anfrage an die
Methode regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"machineType":"MACHINE_TYPE",
"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",
}
],
,
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Ersetzen Sie Folgendes:
INSTANCE_TEMPLATE_NAMEist der Name der Instanzvorlage.MACHINE_TYPE: der für die Instanz zu verwendende Maschinentyp. Geben Sie einen H4D-Maschinentyp an. Weitere Informationen finden Sie unter H4D-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: die Region, in der Sie die Instanzvorlage erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist. Weitere Informationen zu Regionen finden Sie unter Regionen und Zonen.DISK_SIZE: Die Größe des Bootlaufwerks in GiB.GVNIC_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen der standardmäßigen VPC-Netzwerke und -Subnetze für die gVNIC-Schnittstellen verwendet haben.Wenn Sie das Standardnetzwerk verwenden, geben Sie nur ein einzelnes
--network-interface-Feld an, wobei das Feldnic-typeaufGVNICfestgelegt ist. Lassen Sie außerdem die Einstellungennetworkundsubnetworkfür diese Netzwerkschnittstelle weg.EXTERNAL_IPV4_ADDRESS(optional): Eine statische externe IPv4-Adresse, die mit der gVNIC-Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben.Verwenden Sie stattdessen das Flag
--external-ipv6-address, um eine externe IPv6-Adresse für die GVNIC-Netzwerkschnittstelle anzugeben.RDMA_NAME_PREFIX: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die IRDMA-Netzwerkschnittstelle verwendet haben.Wenn Sie Cloud RDMA nicht mit Ihren H4D-Instanzen verwenden, lassen Sie das Feld
--network-interfacefür die IRDMA-Schnittstelle weg.RUN_DURATION: die Dauer in Sekunden, für die die angeforderten Instanzen ausgeführt werden sollen. Der Wert muss zwischen600, d. h. 600 Sekunden (10 Minuten) und604800, also 604.800 Sekunden (7 Tage) liegen.
Nachdem Sie die Instanzvorlage erstellt haben, können Sie sie aufrufen, um ihre ID und die Instanzeigenschaften zu sehen.
MIG mit einer Anfrage zur Größenanpassung erstellen
Wenn Sie alle angeforderten Flex-Start-Instanzen gleichzeitig erstellen möchten, erstellen Sie eine MIG und dann eine Anfrage zur Größenanpassung in der MIG, wie in diesem Abschnitt beschrieben.
MIG erstellen
Wählen Sie eine der folgenden Optionen aus, um die MIG zu erstellen:
gcloud
So erstellen Sie eine zonale oder regionale MIG:
-
Verwenden Sie zum Erstellen einer zonalen MIG den
instance-groups managed create-Befehl wie unten beschrieben.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
Verwenden Sie zum Erstellen einer regionalen MIG den
instance-groups managed create-Befehl wie unten beschrieben.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none
Wenn Sie eine Arbeitslastrichtlinie auf Ihre MIG anwenden möchten, fügen Sie das
--workload-policy-Flag in den Befehl ein.
REST
So erstellen Sie eine zonale oder regionale MIG:
- So erstellen Sie eine zonale MIG und senden eine
POST-Anfrage an dieinstanceGroupManagers.insert-Methode:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - So erstellen Sie eine regionale MIG und senden eine
POST-Anfrage an dieregionInstanceGroupManagers.insert-Methode:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }
Wenn Sie eine Arbeitslastrichtlinie auf Ihre MIG anwenden möchten, fügen Sie das
Feld resourcePolicies.workloadPolicy in den Anfragetext ein.
Anfrage zur Größenanpassung erstellen
Wählen Sie eine der folgenden Optionen aus, um die Anfrage zur Größenanpassung in der MIG zu erstellen:
gcloud
So erstellen Sie eine Anfrage zur Größenanpassung:
-
Verwenden Sie zum Erstellen einer Anfrage zur Größenanpassung in einer zonalen MIG den Befehl
instance-groups managed resize-requests create:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --zone=ZONE - Verwenden Sie zum Erstellen einer Anfrage zur Größenanpassung in einer regionalen MIG den Betabefehl
instance-groups managed resize-requests create:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --region=REGION
Wenn Sie eine Arbeitslastrichtlinie auf Ihre MIG anwenden möchten, fügen Sie das
--workload-policy-Flag in den Befehl ein.
REST
So erstellen Sie eine Anfrage zur Größenanpassung in einer zonalen oder regionalen MIG:
- So erstellen Sie eine Anfrage zur Größenänderung in einer zonalen MIG und senden eine
POST-Anfrage an die MethodeinstanceGroupManagerResizeRequests.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD } - Wenn Sie eine Anfrage zur Größenänderung in einer regionalen MIG erstellen möchten, senden Sie eine
POST-Anfrage an die Methodebeta.regionInstanceGroupManagerResizeRequests.insert:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
Wenn Sie eine Arbeitslastrichtlinie auf Ihre MIG anwenden möchten, fügen Sie das Feld resourcePolicies.workloadPolicy in den Anfragetext ein.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Cloud de Confiance -Projekt löschen:
gcloud projects delete PROJECT_ID
Ressourcen löschen
Wenn der Status für das automatische Löschen der Laufwerke in der Instanzvorlage auf
Falsefestgelegt wurde, werden die Laufwerke nicht automatisch gelöscht, wenn die VM-Instanz gelöscht wird. Sie haben folgende Möglichkeiten zum Löschen der Laufwerke:Console
- Rufen Sie in der Cloud de Confiance Console die Seite Laufwerke auf.
Wählen Sie die Zeilen mit den Laufwerken aus, die Sie in dieser Anleitung erstellt haben. Achten Sie darauf, dass die Spalte Verwendet von für jedes Laufwerk leer ist.
Klicken Sie auf Löschen und dann noch einmal auf Löschen, um den Löschvorgang zu bestätigen.
gcloud
Führen Sie den Befehl
gcloud compute disks deleteaus.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONEErsetzen Sie Folgendes:
- DISK_NAME : Name des Laufwerks, das gelöscht werden soll
- PROJECT_ID: die ID des Projekts, das das Laufwerk enthält
- ZONE: die Zone des Laufwerks
REST
Verwenden Sie die Methode
disks.delete, um die Laufwerke zu löschen.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAMEErsetzen Sie Folgendes:
- PROJECT_ID: die ID des Projekts, das das Laufwerk enthält
- ZONE: die Zone des Laufwerks
- DISK_NAME : Name des Laufwerks, das gelöscht werden soll