Crea un MIG HPC con la serie di macchine H4D

Questo documento descrive come creare un gruppo di istanze gestite (MIG) che utilizza un tipo di macchina H4D.

La creazione di un MIG ti consente di gestire più macchine virtuali (VM) come singola entità. Ogni VM in un MIG si basa su un template di istanza. Gestendo automaticamente le VM nel gruppo, i MIG offrono alta disponibilità e scalabilità. Per scoprire di più sui MIG, consulta Gruppi di istanze gestite.

Per scoprire di più sulle opzioni di creazione di VM HPC e cluster HPC, consulta Panoramica della creazione di cluster HPC.

Se vuoi creare un MIG ma non utilizzi tipi di macchine H4D o non devi creare un deployment denso di istanze, consulta Scenari di base per la creazione di gruppi di istanze gestite (MIG).

Prima di iniziare

  • Scegli un'opzione di consumo: per creare istanze di calcolo collettivamente e attivare funzionalità di gestione avanzata dei cluster, puoi scegliere una prenotazione futura in modalità Calendario o VM spot.

    Se scegli di utilizzare le VM spot, le VM potrebbero non essere collocate in modo compatto. Inoltre, le VM spot possono essere prerilasciate in base alle necessità e non sono idonee per la gestione degli eventi di manutenzione dell'host per gruppi di VM.

  • Ottenere capacità: la procedura per ottenere capacità varia per ogni opzione di consumo.

    Per saperne di più, consulta Scegliere un'opzione di consumo e ottenere capacità.

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    2. Set a default region and zone.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Panoramica

La creazione di un MIG con il tipo di macchina H4D include i seguenti passaggi:

  1. Crea reti VPC
  2. (Facoltativo) Crea una policy del workload
  3. Crea un modello di istanza
  4. Crea un MIG

Limitazioni

Quando crei un MIG con VM H4D, si applicano le seguenti limitazioni:

  • Se crei un MIG regionale, questo può creare VM solo nella zona che contiene il profilo della rete VPC.

  • Non puoi configurare la flessibilità delle istanze nel MIG.

  • Se applichi una policy del workload a un MIG, non puoi modificare la policy nel MIG quando il gruppo contiene VM. Per modificare il criterio in un MIG con VM, devi prima ridimensionare il MIG a zero.

  • Non puoi utilizzare un modello di istanza che specifica una policy di posizionamento per creare un MIG che utilizza una policy del workload.

(Facoltativo) Crea reti VPC

Quando crei un'istanza di computing, puoi specificare una rete VPC e una subnet. Se ometti questa configurazione, vengono utilizzate la rete e la subnet predefinite.

Se vuoi configurare le istanze H4D nel MIG in modo che utilizzino Cloud RDMA, completa i passaggi in questa sezione. In caso contrario, puoi ignorare questa sezione e utilizzare la rete predefinita.

Per utilizzare Cloud RDMA con le istanze H4D, devi configurare almeno due reti, una per ogni tipo di interfaccia di rete (NIC):

  • Tipo di NIC GVNIC: utilizza il driver gve per il traffico TCP/IP e internet per la normale comunicazione VM-VM e VM-internet.
  • Tipo di NIC IRDMA: utilizza i driver IDPF/iRDMA per il networking Cloud RDMA tra le istanze.

Le istanze che utilizzano Cloud RDMA possono avere una sola interfaccia IRDMA. Puoi aggiungere fino a otto interfacce di rete GVNIC aggiuntive per un totale di 10 vNIC per istanza.

Per configurare le reti VPC Falcon da utilizzare con le tue istanze, puoi seguire le istruzioni documentate o utilizzare lo script fornito.

Guide con istruzioni

Per creare le reti, puoi utilizzare le seguenti istruzioni:

Script

Puoi creare fino a nove interfacce di rete gVNIC e una interfaccia di rete IRDMA per istanza. Ogni interfaccia di rete deve essere collegata a una rete separata. Per creare le reti, puoi utilizzare il seguente script, che crea due reti per gVNIC e una rete per IRDMA.

  1. (Facoltativo) Prima di eseguire lo script, elenca i profili di rete VPC di Falcon per verificare che ne sia disponibile uno.
      gcloud compute network-profiles list
      
  2. Copia il seguente codice ed eseguilo in una finestra della shell Linux.

      #!/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
      

    Sostituisci quanto segue:

    • NUMBER_OF_GVNIC: il numero di interfacce gVNIC da creare. Specifica un numero compreso tra 1 e 9.
    • GVNIC_NAME_PREFIX: il prefisso del nome da utilizzare per la rete VPC e la subnet regolari che utilizzano un tipo di NIC GVNIC.
    • REGION: la regione in cui vuoi creare le reti. Deve corrispondere alla zona specificata per il flag --network-profile durante la creazione della rete VPC Falcon. Ad esempio, se specifichi la zona come europe-west4-b, la regione è europe-west4.
    • IP_RANGE: l'intervallo di indirizzi IP al di fuori della rete VPC da utilizzare per le regole firewall SSH. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6. Non utilizzare 0.0.0.0/0 o ::/0 come intervallo di origine perché ciò consente il traffico da tutte le origini IPv4 o IPv6, incluse quelle esterne a Google Cloud.
    • RDMA_NAME_PREFIX: il prefisso del nome da utilizzare per la rete VPC e la subnet che utilizzano il tipo di NIC IRDMA.
    • ZONE: la zona in cui vuoi creare le reti e le istanze di computing. Utilizza us-central1-a o europe-west4-b.
  3. (Facoltativo) Per verificare che le risorse di rete VPC siano state create correttamente, controlla le impostazioni di rete nella console Google Cloud :

    1. Nella console Google Cloud , vai alla pagina Reti VPC.

      Vai a Reti VPC

    2. Cerca nell'elenco le reti che hai creato nel passaggio precedente.
    3. Per visualizzare le subnet, le regole firewall e altre impostazioni di rete, fai clic sul nome della rete.

(Facoltativo) Crea una policy del workload

Se vuoi che Compute Engine posizioni le istanze VM in un singolo blocco o in blocchi adiacenti, specifica il posizionamento delle istanze creando una policy del workload. Tuttavia, se vuoi che Compute Engine posizioni le tue istanze su un blocco specifico, salta questo passaggio e fornisci il nome del blocco nell'affinità di prenotazione quando crei il modello di istanza.

Se hai già una policy del workload, puoi riutilizzarla. Quando applichi una policy del workload al tuo MIG, Compute Engine tenta di creare istanze il più vicine possibile tra loro. Se la tua applicazione è sensibile alla latenza e vuoi che le istanze siano più vicine tra loro (massima compattezza), specifica il campo maxTopologyDistance quando crei una policy del workload.

Non puoi aggiornare una policy del workload dopo averla creata. Per apportare modifiche a un criterio del workload, devi crearne uno nuovo.

Per creare una policy del workload, seleziona una delle seguenti opzioni:

gcloud

Per creare una policy del carico di lavoro, utilizza il comando gcloud compute resource-policies create workload-policy.

  • Per un posizionamento delle VM secondo il criterio del "best effort", specifica solo il flag --type=high-throughput nel comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Per il posizionamento rigoroso delle VM, specifica il flag --max-topology-distance nel comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

Sostituisci quanto segue:

  • WORKLOAD_POLICY_NAME: il nome della policy del workload.
  • REGION: la regione in cui vuoi creare la policy del workload. Specifica una regione in cui vuoi creare il MIG e il tipo di macchina che vuoi utilizzare è disponibile. Per informazioni su regioni e zone, vedi Regioni e zone disponibili.

REST

Per creare una policy del workload, invia una richiesta POST al metodo resourcePolicies.insert.

  • Per un posizionamento delle VM con il massimo impegno, specifica solo il campo type nella richiesta nel seguente modo:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • Per la collocazione rigorosa delle VM, specifica il campo maxTopologyDistance nella richiesta nel seguente modo:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • REGION: la regione in cui vuoi creare la policy del workload. Specifica una regione in cui vuoi creare il MIG e il tipo di macchina che vuoi utilizzare è disponibile. Per informazioni su regioni e zone, vedi Regioni e zone disponibili.
  • WORKLOAD_POLICY_NAME: il nome della policy del workload.

Crea un modello di istanza

Per specificare le proprietà di istanza e consumo per ogni istanza nel MIG, crea un template di istanza utilizzando uno dei seguenti metodi.

I seguenti comandi impostano anche l'ambito di accesso per le tue istanze. Per semplificare la gestione delle autorizzazioni, Google consiglia di impostare l'ambito di accesso di un'istanza su accesso cloud-platform e poi utilizzare i ruoli IAM per definire i servizi a cui l'istanza può accedere. Per saperne di più, consulta le best practice per gli ambiti.

gcloud

I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente all'opzione di consumo e al modello di provisioning.

Avvio flessibile

Per creare un template di istanza regionale, utilizza il comando 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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina H4D da utilizzare per l'istanza.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • STACK_TYPE: (Facoltativo) il tipo di stack da utilizzare per l'interfaccia gVNIC. Specifica IPV4_ONLY o IPV4_IPV6. Se non specifichi un valore, per impostazione predefinita viene utilizzato IPV4_ONLY.
  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza. Esegui una delle seguenti operazioni:

    • Specifica un indirizzo IPv4 valido dalla subnet.
    • Utilizza il flag no-address se non vuoi che l'interfaccia di rete abbia un indirizzo IP esterno.
    • Specifica address='' se vuoi che l'interfaccia di rete riceva un indirizzo IP esterno temporaneo.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • RUN_DURATION: la durata per cui vuoi eseguire le istanze richieste. Devi formattare il valore come numero di giorni, ore, minuti o secondi seguito rispettivamente da d, h, m e s. Ad esempio, specifica 30m per 30 minuti o 1d2h3m4s per un giorno, due ore, tre minuti e quattro secondi. Il valore deve essere compreso tra 10 minuti e sette giorni.

Con prenotazione

Per creare un template di istanza regionale, utilizza il comando 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=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina H4D da utilizzare per l'istanza.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • STACK_TYPE: (Facoltativo) il tipo di stack da utilizzare per l'interfaccia gVNIC. Specifica IPV4_ONLY o IPV4_IPV6. Se non specifichi un valore, per impostazione predefinita viene utilizzato IPV4_ONLY.
  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza. Esegui una delle seguenti operazioni:

    • Specifica un indirizzo IPv4 valido dalla subnet.
    • Utilizza il flag no-address se non vuoi che l'interfaccia di rete abbia un indirizzo IP esterno.
    • Specifica address='' se vuoi che l'interfaccia di rete riceva un indirizzo IP esterno temporaneo.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • RESERVATION: il nome della prenotazione che vuoi utilizzare.

    RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
    • Per creare istanze in più blocchi o in un singolo blocco:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Inoltre, per un singolo blocco, crea il MIG applicando una policy di workload che specifica una collocazione di blocchi (maxTopologyDistance=BLOCK) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

    • Per creare istanze su un blocco specifico:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

Per creare un template di istanza regionale, utilizza il comando 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 \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina H4D da utilizzare per l'istanza.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • STACK_TYPE: (Facoltativo) il tipo di stack da utilizzare per l'interfaccia gVNIC. Specifica IPV4_ONLY o IPV4_IPV6. Se non specifichi un valore, per impostazione predefinita viene utilizzato IPV4_ONLY.
  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza. Esegui una delle seguenti operazioni:

    • Specifica un indirizzo IPv4 valido dalla subnet.
    • Utilizza il flag no-address se non vuoi che l'interfaccia di rete abbia un indirizzo IP esterno.
    • Specifica address='' se vuoi che l'interfaccia di rete riceva un indirizzo IP esterno temporaneo.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) le VM spot in caso di prerilascio.

REST

I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente all'opzione di consumo e al modello di provisioning.

Avvio flessibile

Per creare un template di istanza regionale, effettua una richiesta POST al metodo 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"
      }

  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza. Specifica un tipo di macchina H4D. Per saperne di più, consulta Tipi di macchine H4D.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • RUN_DURATION: la durata, in secondi, per cui vuoi eseguire le istanze richieste. Il valore deve essere compreso tra 600, ovvero 600 secondi (10 minuti), e 604800, ovvero 604.800 secondi (sette giorni).

Con prenotazione

Per creare un template di istanza regionale, effettua una richiesta POST al metodo 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":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza. Specifica un tipo di macchina H4D. Per saperne di più, consulta Tipi di macchine H4D.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • RESERVATION: il nome della prenotazione che vuoi utilizzare.

    RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
    • Per creare istanze in più blocchi o in un singolo blocco:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Inoltre, per un singolo blocco, crea il MIG applicando una policy di workload che specifica una collocazione di blocchi (maxTopologyDistance=BLOCK) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

    • Per creare istanze su un blocco specifico:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

Per creare un template di istanza regionale, effettua una richiesta POST al metodo 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",
      }
    ],
,
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION"
    }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza. Specifica un tipo di macchina H4D. Per saperne di più, consulta Tipi di macchine H4D.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB.
  • GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.

    Se utilizzi la rete predefinita, includi un solo campo --network-interface con il campo nic-type impostato su GVNIC. Inoltre, ometti le impostazioni network e subnetwork per questa interfaccia di rete.

  • EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.

    Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza invece il flag --external-ipv6-address.

  • RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia di rete IRDMA.

    Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo --network-interface per l'interfaccia IRDMA.

  • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) le VM spot in caso di prerilascio.

Dopo aver creato il modello di istanza, puoi visualizzarlo per vedere il suo ID e rivedere le proprietà dell'istanza.

Crea un MIG

Dopo aver completato tutti i passaggi precedenti, crea un gruppo di istanze gestite in base al tuo scenario nel seguente modo:

Scenario Metodo per creare un MIG e le relative VM Esempio
Hai più job paralleli che possono iniziare con un numero qualsiasi di VM. Crea un MIG e utilizza la dimensione target per specificare il numero di VM che vuoi nel gruppo.

Vedi Crea un MIG con dimensioni target.

Job di inferenza ML
Hai un job che richiede la distribuzione su un numero esatto di VM. Crea un MIG senza VM e poi crea una richiesta di ridimensionamento nel MIG. La richiesta di ridimensionamento ti aiuta a ottenere tutte le VM contemporaneamente.

Consulta Crea un gruppo di istanze gestite e una richiesta di ridimensionamento.

Job di addestramento e ottimizzazione di ML distribuito

Crea un MIG con dimensioni target

Se puoi avviare il job senza creare tutte le VM contemporaneamente, crea un MIG con una dimensione target. Le dimensioni target determinano il numero di VM nel MIG. Il MIG inizia a creare VM in base alla disponibilità attuale delle risorse. Se una risorsa non è temporaneamente disponibile, il MIG tenta continuamente di creare VM per raggiungere la dimensione target.

Per creare un MIG con una dimensione target, seleziona una delle seguenti opzioni:

gcloud

Per creare un MIG con una dimensione target specificata, utilizza il comando instance-groups managed create.

I comandi per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il flag --workload-policy.

Crea un gruppo di istanze gestite a livello di zona o di regione nel seguente modo:

  • Per creare un gruppo di istanze gestite a livello di zona, utilizza il seguente comando:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Per creare un gruppo di istanze gestite a livello di regione, utilizza il seguente comando:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Sostituisci quanto segue:
  • MIG_NAME: il nome del MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare le VM nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: il numero di VM che vuoi nel MIG.
  • WORKLOAD_POLICY_URL: (Facoltativo) l'URL del criterio del workload. Ad esempio, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se non vuoi utilizzare una policy del workload, puoi rimuovere il flag --workload-policy.
  • ZONE: la zona in cui vuoi creare il gruppo di istanze gestite. Se utilizzi un criterio del carico di lavoro, specifica una zona all'interno della regione del criterio.
  • REGION: la regione in cui vuoi creare il MIG. Se utilizzi una policy di workload, specifica la stessa regione della policy. Per un MIG a livello di regione, anziché una regione, puoi specificare le zone in quella regione utilizzando il flag --zones.

REST

Per creare un MIG con una dimensione target specificata, invia una richiesta POST.

Le richieste per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il campo resourcePolicies.workloadPolicy.

Crea un gruppo di istanze gestite a livello di zona o di regione nel seguente modo:

  • Per creare un gruppo di istanze gestite a livello di zona, invia una richiesta POST al metodo instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Per creare un MIG a livello di regione, invia una richiesta POST al metodo regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Sostituisci quanto segue:
  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui vuoi creare il MIG. Se utilizzi un criterio del carico di lavoro, specifica una zona all'interno della regione del criterio.
  • REGION: la regione in cui vuoi creare il MIG. Se utilizzi una policy di workload, specifica la stessa regione della policy.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare le VM nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • MIG_NAME: il nome del MIG.
  • TARGET_SIZE: il numero di VM che vuoi nel MIG.
  • WORKLOAD_POLICY_URL: (facoltativo) l'URL della policy del workload. Ad esempio, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se non vuoi utilizzare una policy del workload, puoi rimuovere il campo resourcePolicies.workloadPolicy.

Crea un MIG e una richiesta di ridimensionamento

Se hai bisogno di più VM contemporaneamente per avviare un job, crea un gruppo di istanze gestite e crea una richiesta di ridimensionamento nel gruppo di istanze gestite come descritto in questa sezione.

Per creare una richiesta di ridimensionamento in un gruppo di istanze gestite, seleziona una delle seguenti opzioni.

gcloud

I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.

Avvio flessibile

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno:

    1. Crea un MIG a livello di zona utilizzando il comando instance-groups managed create come segue.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno:

    1. Crea un gruppo di istanze gestite a livello di regione utilizzando il comando instance-groups managed create come segue.

      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
        
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione utilizzando il comando beta instance-groups managed resize-requests create come segue:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Con prenotazione

I comandi per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il flag --workload-policy.

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno:

    1. Crea un MIG a livello di zona utilizzando il comando instance-groups managed create come segue.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno:

    1. Crea un gruppo di istanze gestite a livello di regione utilizzando il comando instance-groups managed create come segue.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione utilizzando il comando beta instance-groups managed resize-requests create come segue:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

I comandi per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il flag --workload-policy.

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno:

    1. Crea un gruppo di istanze gestite a livello di zona utilizzando il comando instance-groups managed create come segue.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno:

    1. Crea un gruppo di istanze gestite a livello di regione utilizzando il comando instance-groups managed create come segue.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione utilizzando il comando beta instance-groups managed resize-requests create come segue:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
Sostituisci quanto segue:
  • MIG_NAME: il nome del MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare le VM nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL: (Facoltativo) l'URL del criterio del workload. Ad esempio, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se non vuoi utilizzare una policy del workload, puoi rimuovere il flag --workload-policy.
  • ZONE: la zona in cui vuoi creare il gruppo di istanze gestite. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere la zona che contiene il profilo per la tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina. Per ulteriori informazioni, vedi Limitazioni.
  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del gruppo di istanze gestite specificato. In caso contrario, la creazione della richiesta di ridimensionamento non va a buon fine.
  • COUNT: il numero di VM da aggiungere al gruppo di istanze gestite contemporaneamente.
  • REGION: la regione in cui si trova il MIG.

Se il tuo workload richiede determinati nomi per la VM, puoi specificare un elenco di nomi delle VM da creare utilizzando il comando beta instance-groups managed resize-requests create. Nel comando, sostituisci il flag --resize-request con il flag --instances.

REST

I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.

Avvio flessibile

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      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"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      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"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo beta.regionInstanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Con prenotazione

Le richieste per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il campo resourcePolicies.workloadPolicy.

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      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"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo beta.regionInstanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

Le richieste per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il campo resourcePolicies.workloadPolicy.

Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:

  • Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
    1. Crea un gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      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"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione inviando una richiesta POST al metodo beta.regionInstanceGroupManagerResizeRequests.insert come segue:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Sostituisci quanto segue:
  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui vuoi creare il gruppo di istanze gestite. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere la zona che contiene il profilo per la tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina. Per ulteriori informazioni, vedi Limitazioni.
  • REGION: la regione in cui vuoi creare il MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare le VM nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • MIG_NAME: il nome del MIG.
  • WORKLOAD_POLICY_URL: (Facoltativo) l'URL del criterio del workload. Ad esempio, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se non vuoi utilizzare una policy del workload, puoi rimuovere il campo resourcePolicies.workloadPolicy.
  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del gruppo di istanze gestite specificato. In caso contrario, la creazione della richiesta di ridimensionamento non va a buon fine.
  • COUNT: il numero di VM da aggiungere contemporaneamente al MIG

Se il tuo workload richiede determinati nomi VM, puoi specificare un elenco di nomi VM da creare. A tale scopo, invia una richiesta POST al metodo beta.regionInstanceGroupManagerResizeRequests.insert per un gruppo di istanze gestite a livello di regione o al metodo beta.instanceGroupManagerResizeRequests.insert per un gruppo di istanze gestite a livello di zona. Nel corpo della richiesta, sostituisci il campo resizeBy con il campo instanceNames.

Passaggi successivi