MIG mit H4D-Maschinentypen und Flex-Start erstellen

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

  1. Optional: Kontingent auf Abruf anfordern.
  2. Optional: Virtual Private Cloud-Netzwerke erstellen.
  3. Optional: Erstellen Sie eine Arbeitslastrichtlinie.
  4. Erstellen Sie eine Instanzvorlage.
  5. Erstellen Sie eine MIG und eine Anfrage zur Größenanpassung.
  6. 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

  1. Installieren Sie die Google Cloud CLI.

  2. 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.

  3. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. 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 Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
    • So erstellen Sie ein Cloud de Confiance -Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Projekts in Cloud de Confiance .

  5. Prüfen Sie, ob für Ihr Cloud de Confiance Projekt die Abrechnung aktiviert ist.

  6. 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 Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    gcloud services enable compute.googleapis.com
  7. 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.networkAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Ersetzen Sie Folgendes:

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 managers und Instance 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:

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.

  1. 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
      
  2. 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 ranges
      

    Ersetzen 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-profile angegeben wurde. Wenn Sie beispielsweise die Zone als europe-west4-b angeben, lautet Ihre Region europe-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 nicht 0.0.0.0/0 oder ::/0 als 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 entweder us-central1-a oder europe-west4-b.
  3. 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:

    1. Rufen Sie in der Cloud de Confiance Console die Seite VPC-Netzwerke auf.

      Zur Seite VPC-Netzwerke

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

Optional: 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-throughput im 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-distance und --type=high-throughput im 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“.
  • 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 type in 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 maxTopologyDistance und type in 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“.

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_NAME ist 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 Feld nic-type auf GVNIC festgelegt ist. Lassen Sie außerdem die Einstellungen network und subnetwork für diese Netzwerkschnittstelle weg.

  • STACK_TYPE (optional): der Stacktyp, der für die gVNIC-Schnittstelle verwendet werden soll. Geben Sie entweder IPV4_ONLY oder IPV4_IPV6 an. Wenn Sie keinen Wert angeben, wird standardmäßig IPV4_ONLY verwendet.
  • 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-interface fü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 von d, h, m bzw. s formatieren. Geben Sie beispielsweise 30m für 30 Minuten oder 1d2h3m4s fü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_NAME ist 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 Feld nic-type auf GVNIC festgelegt ist. Lassen Sie außerdem die Einstellungen network und subnetwork fü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-interface für die IRDMA-Schnittstelle weg.

  • RUN_DURATION: die Dauer in Sekunden, für die die angeforderten Instanzen ausgeführt werden sollen. Der Wert muss zwischen 600, d. h. 600 Sekunden (10 Minuten) und 604800, 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 die instanceGroupManagers.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 die regionInstanceGroupManagers.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 Methode instanceGroupManagerResizeRequests.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 Methode beta.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

  1. Anfragen zur Größenanpassung in einer MIG löschen

  2. MIG und Instanzen löschen

  3. Wenn der Status für das automatische Löschen der Laufwerke in der Instanzvorlage auf False festgelegt 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

    1. Rufen Sie in der Cloud de Confiance Console die Seite Laufwerke auf.

    Zur Seite „Laufwerke“

    1. 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.

    2. 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 delete aus.

    gcloud compute disks delete DISK_NAME \
        --project PROJECT_ID --zone ZONE
    

    Ersetzen 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_NAME 
    

    Ersetzen 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
  4. Löschen Sie die Netzwerke.

  5. Löschen Sie die Instanzvorlage.

Nächste Schritte