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. Die MIG verwendet das Flex-Start-Verbrauchsmodell von Dynamic Workload Scheduler, um bis zu sieben Tage lang Rechenressourcen zu erhalten.

Wenn Sie eine MIG erstellen, können Sie mehrere VMs als eine einzelne 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 finden Sie unter Verwaltete Instanzgruppen.

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 von miteinander verbundenen 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. Erstellen Sie eine Instanzvorlage.
  4. Erstellen Sie eine MIG und eine Anfrage zur Größenanpassung.
  5. bereinigen.

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet, darunter:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

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

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  8. Install the Google Cloud CLI.

  9. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

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

    gcloud init
  11. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Verify that billing is enabled for your Google Cloud project.

  13. Enable the required API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable compute.googleapis.com
  14. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/compute.instanceAdmin.v1,roles/compute.networkAdmin

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

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  15. 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 anfordern, indem Sie der Anleitung unter Kontingentanpassung anfordern 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ässige Messaging-Funktionen mit geringer Latenz durch Verwendung eines IRDMA-Netzwerktreibers, der Remote Direct Memory Access (RDMA) 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.

    Für RDMA-fähige Instanzen sind mindestens zwei Netzwerkschnittstellen (NICs) erforderlich:

    • NIC-Typ GVNIC: Verwendet den gve-Treiber fü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ätzliche GVNIC-Netzwerkschnittstellen hinzufügen, sodass insgesamt 10 NICs pro Instanz möglich sind.

    Wenn Sie die Falcon-VPC-Netzwerke für die Verwendung mit Ihren Instanzen einrichten möchten, können Sie entweder der dokumentierten Anleitung folgen 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 an ein separates Netzwerk angehängt werden. Sie können die Netzwerke mit dem folgenden Skript erstellen. Damit werden zwei Netzwerke für GVNIC und ein Netzwerk für IRDMA erstellt.

    1. Optional: Bevor Sie das Script ausführen, können Sie die RDMA-Netzwerkprofile auflisten, um zu prüfen, ob eines verfügbar ist.
        gcloud beta 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 standard 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 network for the RDMA over Falcon network interface
        gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
            --network-profile=ZONE-vpc-falcon \
            --subnet-mode custom
      
        # Create a subnet for the RDMA network
        gcloud beta 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 für das Standard-VPC-Netzwerk und ‑Subnetz, das einen GVNIC-NIC-Typ verwendet.
      • REGION: die Region, in der Sie die Netzwerke erstellen möchten. Dies muss der Zone entsprechen, die beim Erstellen des RDMA-Netzwerks für das Flag --network-profile angegeben wurde. Wenn Sie beispielsweise die Zone als europe-west4-b angeben, ist 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 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 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 Google Cloud Console an:

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

        Zur Seite VPC-Netzwerke

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

    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 beta compute instance-templates create.

    gcloud beta 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: 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 Standard-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: 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 beta regionInstanceTemplates.insert-Methode.

    POST https://compute.googleapis.com/compute/beta/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: 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 Standard-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 verwaltete Instanzgruppe 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 \
              --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
          

    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"
              }
            }
           
    • 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"
              }
            }
           

    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
            

    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
            }
            

    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

    Delete a Google Cloud project:

    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 Google Cloud 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