Crea un MIG ottimizzato per l'AI con il tipo di macchina A3 Edge

Questo documento descrive come creare un gruppo di istanze gestite (MIG) che utilizza un tipo di macchina A3 Edge ottimizzata per l'acceleratore. Per scoprire di più sul tipo di macchina, consulta A3 Edge nella documentazione di Compute Engine.

La creazione di un MIG consente di gestire più macchine virtuali (VM) come un'unica entità. Ogni VM in un MIG si basa su un template di istanza. Gestendo automaticamente l'integrità e le dimensioni del gruppo di istanze, i MIG offrono alta affidabilità e scalabilità. Per saperne di più sui MIG, consulta Gruppi di istanze gestite.

Per scoprire le opzioni di creazione di VM e cluster, consulta la pagina Panoramica della creazione di VM e cluster.

Limitazioni

Quando crei un MIG con VM A3 Edge, tieni conto delle limitazioni sia per il tipo di macchina sia per il MIG.

Limitazioni per le VM A3 Edge

A seconda della serie di macchine utilizzata dalle VM nel MIG, si applicano le seguenti limitazioni:

Limitazioni per il MIG

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

  • Devi disattivare le riparazioni nel MIG, come descritto in questo documento.

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

  • Limitazioni per le richieste di ridimensionamento dei MIG

    Alle richieste di ridimensionamento dei MIG si applicano le seguenti limitazioni:

    Per ulteriori informazioni, consulta tutte le limitazioni per le richieste di ridimensionamento.

    Prima di iniziare

    Prima di creare un MIG, se non l'hai ancora fatto, completa i seguenti passaggi:

    1. Scegli un'opzione di consumo: la scelta dell'opzione di consumo determina il modo in cui ottieni e utilizzi le risorse GPU. Per saperne di più, consulta Scegli un'opzione di consumo.
    2. Ottenere capacità: il processo per ottenere capacità varia in base a ciascuna opzione di consumo. Per scoprire la procedura per ottenere la capacità per l'opzione di consumo scelta, consulta la panoramica della capacità.
    3. Verifica le autorizzazioni di Google APIs Service Agent: quando crei VM in un MIG, Compute Engine utilizza Google APIs Service Agent (PROJECT_NUMBER@cloudservices.gserviceaccount.com) nel tuo progetto. Se il template di istanza utilizza risorse di un altro progetto, verifica che questo agente di servizio disponga delle autorizzazioni richieste:

    Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per creare un MIG, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) sul progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un MIG. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

    Autorizzazioni obbligatorie

    Per creare un MIG sono necessarie le seguenti autorizzazioni:

    • Per creare un MIG: compute.instanceGroupManagers.create sul progetto

    Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

    Panoramica

    La creazione di un MIG con il tipo di macchina A3 Edge prevede i seguenti passaggi:

    1. Crea reti VPC
    2. (Facoltativo) Crea una policy di posizionamento compatto
    3. Crea un template di istanza
    4. Crea un MIG
    5. Installa i driver della GPU

    Per ogni MIG, devi scegliere se utilizzare una policy di posizionamento compatto, utilizzare le richieste di ridimensionamento o nessuna delle due opzioni. Per saperne di più su quando utilizzare ciascuna opzione, consulta Limitazioni per il MIG in questo documento.

    Crea reti VPC

    Per consentire una comunicazione efficiente per le VM GPU, devi creare una rete di gestione e una o più reti dati. La rete di gestione viene utilizzata per l'accesso esterno, ad esempio SSH, e per la maggior parte delle comunicazioni di rete generali. Le reti dati vengono utilizzate per la comunicazione ad alte prestazioni tra le GPU su VM diverse, ad esempio per il traffico di accesso diretto alla memoria da remoto (RDMA).

    Per queste reti VPC, ti consigliamo di impostare l'unità massima di trasmissione (MTU) su un valore più elevato. Valori MTU più elevati aumentano le dimensioni dei pacchetti e riducono l'overhead delle intestazioni dei pacchetti, il che aumenta il throughput dei dati del payload. Per ulteriori informazioni su come creare reti VPC, consulta Crea e verifica una rete MTU con frame jumbo.

    Crea una rete di gestione, una subnet e una regola firewall

    Per configurare la rete di gestione, completa i seguenti passaggi:

    1. Crea la rete di gestione utilizzando il comando networks create:

      gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
          --project=PROJECT_ID \
          --subnet-mode=custom \
          --mtu=8244
      
    2. Crea la subnet di gestione utilizzando il comando networks subnets create:

      gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --region=REGION \
          --range=192.168.0.0/24
      
    3. Crea le regole firewall utilizzando il comando firewall-rules create.

      1. Crea una regola firewall per la rete di gestione.

        gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
            --project=PROJECT_ID \
            --network=NETWORK_NAME_PREFIX-mgmt-net \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=192.168.0.0/16
        
      2. Crea la regola firewall tcp:22 per limitare gli indirizzi IP di origine che possono connettersi alla tua VM utilizzando SSH.

        gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
            --project=PROJECT_ID \
            --network=NETWORK_NAME_PREFIX-mgmt-net \
            --action=ALLOW \
            --rules=tcp:22 \
            --source-ranges=SSH_SOURCE_IP_RANGE
        
      3. Crea la regola firewall icmp che può essere utilizzata per verificare la presenza di problemi di trasmissione dei dati nella rete.

        gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
            --project=PROJECT_ID \
            --network=NETWORK_NAME_PREFIX-mgmt-net \
            --action=ALLOW \
            --rules=icmp \
            --source-ranges=0.0.0.0/0
        

    Sostituisci quanto segue:

    • NETWORK_NAME_PREFIX: il prefisso del nome da utilizzare per le reti VPC e le subnet.
    • PROJECT_ID: il tuo ID progetto.
    • REGION: la regione in cui vuoi creare le reti.
    • SSH_SOURCE_IP_RANGE: l'intervallo IP in formato CIDR. Questo specifica quali indirizzi IP di origine possono connettersi alla VM utilizzando SSH.

    Crea reti dati, subnet e regole firewall

    A3 Edge richiede quattro reti dati. Utilizza il seguente comando per creare quattro reti dati, ciascuna con subnet e regole firewall.

    for N in $(seq 1 4); do
    gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
    gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-data-net-$N \
        --region=REGION \
        --range=192.168.$N.0/24
    
    gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-data-net-$N \
        --action=ALLOW \
        --rules=tcp:0-65535,udp:0-65535,icmp \
        --source-ranges=192.168.0.0/16
    done
    

    (Facoltativo) Crea una policy di posizionamento compatto

    Puoi specificare il posizionamento delle VM creando una policy di posizionamento compatto. Quando applichi una policy di posizionamento compatto alle tue VM, Compute Engine fa del suo meglio per creare VM il più vicine possibile tra loro. Se la tua applicazione è sensibile alla latenza e richiede la massima compattezza, specifica il campo maxDistance (anteprima) quando crei una policy di posizionamento compatto. Un valore maxDistance più basso garantisce un posizionamento più ravvicinato delle VM, ma aumenta anche la probabilità che alcune VM non vengano create.

    Per creare una policy di posizionamento compatto, seleziona una delle seguenti opzioni:

    gcloud

    Per creare una policy di posizionamento compatto, utilizza il comando gcloud compute resource-policies create group-placement:

    gcloud compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --max-distance=MAX_DISTANCE \
        --region=REGION
    

    Sostituisci quanto segue:

    • POLICY_NAME: il nome della policy di posizionamento compatto.
    • MAX_DISTANCE: la configurazione della distanza massima per le VM, che può essere specificata (anteprima, consigliata) o non specificata (rimuovi il flag --max-distance). In base a ciò che supporta il tipo di macchina, puoi specificare uno dei seguenti valori:
      • Per posizionare le VM nello stesso blocco secondario: 1
      • Per posizionare le VM nello stesso blocco: 2
      • Per posizionare le VM in blocchi adiacenti: 3
      Assicurati che la configurazione della distanza massima supporti la serie di macchine e il numero di VM che prevedi di creare. Per saperne di più, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.
    • REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica la regione che contiene la zona in cui prevedi di creare le istanze e verifica che il tipo di macchina che vuoi utilizzare sia disponibile in quella regione. Per informazioni sulle regioni, consulta Disponibilità delle GPU per regioni e zone.

    REST

    Per creare una policy di posizionamento compatto, invia una richiesta POST al metodo resourcePolicies.insert. Nel corpo della richiesta, includi il campo collocation impostato su COLLOCATED e il campo maxDistance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "POLICY_NAME",
        "groupPlacementPolicy": {
          "collocation": "COLLOCATED",
          "maxDistance": MAX_DISTANCE
        }
      }
    

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.
    • POLICY_NAME: il nome della policy di posizionamento compatto.
    • MAX_DISTANCE: la configurazione della distanza massima per le VM, che può essere specificata (anteprima, consigliata) o non specificata (rimuovi il campo maxDistance). In base a ciò che supporta il tipo di macchina, puoi specificare uno dei seguenti valori:
      • Per posizionare le VM nello stesso blocco secondario: 1
      • Per posizionare le VM nello stesso blocco: 2
      • Per posizionare le VM in blocchi adiacenti: 3
      Assicurati che la configurazione della distanza massima supporti la serie di macchine e il numero di VM che prevedi di creare. Per saperne di più, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.
    • REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica la regione che contiene la zona in cui prevedi di creare le istanze e verifica che il tipo di macchina che vuoi utilizzare sia disponibile in quella regione. Per informazioni sulle regioni, consulta Disponibilità delle GPU per regioni e zone.

    Crea un template di istanza

    Specifica le proprietà delle VM per un MIG creando un template di istanza.

    Per creare un template di istanza, seleziona una delle seguenti opzioni:

    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 su un'istanza per l'accesso cloud-platform e quindi di 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.

    Per creare un template di istanza per le VM A3 Edge, devi specificare quattro interfacce di rete aggiuntive per il traffico GPUDirect-TCPX. Se non l'hai ancora fatto, devi creare quattro reti VPC come descritto in Crea reti VPC.

    gcloud

    Per creare un template di istanza regionale, utilizza il comando gcloud compute instance-templates create.

    I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente alla tua opzione di consumo.

    Prenotazione

    Prima di eseguire il comando, esamina tutti i passaggi seguenti per determinare se includere flag aggiuntivi.

    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=DISK_TYPE \
        --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 \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
        --reservation-affinity=specific \
        --reservation=RESERVATION \
        --provisioning-model=RESERVATION_BOUND \
        --instance-termination-action=DELETE \
        --maintenance-policy=TERMINATE \
        --restart-on-failure
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, consulta Visualizza la capacità prenotata. In base ai tuoi requisiti per il posizionamento delle istanze, 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, applica una policy di posizionamento compatto che specifica una collocazione del blocco (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea le istanze nello stesso blocco.

        • Per creare istanze su un blocco specifico:

          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    2. (Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, aggiungi il seguente flag al comando:

      --resource-policies=POLICY_NAME
      

      Sostituisci quanto segue:

      • POLICY_NAME: il nome della policy di posizionamento compatto.
    3. Esegui il comando.

    Avvio flessibile

    Prima di eseguire il comando, esamina tutti i passaggi seguenti per determinare se includere flag aggiuntivi.

    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=DISK_TYPE \
        --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 \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
        --instance-termination-action=DELETE \
        --max-run-duration=RUN_DURATION \
        --maintenance-policy=TERMINATE \
        --provisioning-model=FLEX_START
    
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • RUN_DURATION: la durata per cui vuoi eseguire le VM 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.
    2. Esegui il comando.

    Spot

    Prima di eseguire il comando, esamina tutti i passaggi seguenti per determinare se includere flag aggiuntivi.

    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=DISK_TYPE \
        --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 \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
        --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
        --provisioning-model=SPOT \
        --instance-termination-action=TERMINATION_ACTION \
        --maintenance-policy=TERMINATE \
        --no-restart-on-failure
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine esegue il prerilascio dell'istanza, STOP (predefinito) o DELETE.

    2. (Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, aggiungi il seguente flag al comando:

      --resource-policies=POLICY_NAME
      

      Sostituisci quanto segue:

      • POLICY_NAME: il nome della policy di posizionamento compatto.
    3. Esegui il comando.

    REST

    Per creare un template di istanza regionale, effettua una richiesta POST al metodo regionInstanceTemplates.insert.

    I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente alla tua opzione di consumo.

    Prenotazione

    Prima di inviare la richiesta, esamina tutti i passaggi seguenti per determinare se includere campi aggiuntivi.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
    {
      "name": "INSTANCE_TEMPLATE_NAME",
      "properties": {
        "machineType": "MACHINE_TYPE",
        "disks": [
          {
            "boot": true,
            "initializeParams": {
              "diskSizeGb": "DISK_SIZE",
              "diskType": "DISK_TYPE",
              "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "mode": "READ_WRITE",
            "type": "PERSISTENT"
          }
        ],
        "serviceAccounts": [
          {
            "email": "default",
            "scopes": [
              "https://www.googleapis.com/auth/cloud-platform"
            ]
          }
        ],
        "networkInterfaces": [
          {
            "accessConfigs": [
              {
                "name": "external-nat",
                "type": "ONE_TO_ONE_NAT"
              }
            ],
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
          }
        ],
        "reservationAffinity": {
            "consumeReservationType": "SPECIFIC_RESERVATION",
            "key": "compute.googleapis.com/reservation-name",
            "values": [
              "RESERVATION"
            ]
          },
        "scheduling": {
            "provisioningModel": "RESERVATION_BOUND",
            "instanceTerminationAction": "DELETE",
            "onHostMaintenance": "TERMINATE",
            "automaticRestart": true
          }
      }
    }
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • NETWORK_PROJECT_ID: l'ID progetto della rete.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • REGION: la regione della subnet.
      • RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, consulta Visualizza la capacità prenotata. In base ai tuoi requisiti per il posizionamento delle istanze, 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, applica una policy di posizionamento compatto che specifica una collocazione del blocco (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea le istanze nello stesso blocco.

        • Per creare istanze su un blocco specifico:

          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    2. (Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, aggiungi il seguente campo secondario instanceProperties al corpo della richiesta:

          "resourcePolicies": [
            "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
          ]
      

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID progetto della policy di posizionamento compatto.
      • REGION: la regione della policy di posizionamento compatto.
      • POLICY_NAME: il nome della policy di posizionamento compatto.
    3. Invia la richiesta.

    Avvio flessibile

    Prima di inviare la richiesta, esamina tutti i passaggi seguenti per determinare se includere campi aggiuntivi.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
    {
      "name": "INSTANCE_TEMPLATE_NAME",
      "properties": {
        "machineType": "MACHINE_TYPE",
        "disks": [
          {
            "boot": true,
            "initializeParams": {
              "diskSizeGb": "DISK_SIZE",
              "diskType": "DISK_TYPE",
              "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "mode": "READ_WRITE",
            "type": "PERSISTENT"
          }
        ],
        "serviceAccounts": [
          {
            "email": "default",
            "scopes": [
              "https://www.googleapis.com/auth/cloud-platform"
            ]
          }
        ],
        "networkInterfaces": [
          {
            "accessConfigs": [
              {
                "name": "external-nat",
                "type": "ONE_TO_ONE_NAT"
              }
            ],
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
          }
        ],
        "scheduling": {
            "instanceTerminationAction": "DELETE",
            "maxRunDuration": {
              "seconds": RUN_DURATION
            },
            "onHostMaintenance": "TERMINATE",
            "provisioningModel": "FLEX_START"
          }
    
      }
    }
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • NETWORK_PROJECT_ID: l'ID progetto della rete.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • REGION: la regione della subnet.
      • RUN_DURATION: la durata, in secondi, per cui vuoi eseguire le VM richieste. Il valore deve essere compreso tra 600, ovvero 600 secondi (10 minuti), e 604800, ovvero 604.800 secondi (sette giorni).
    2. Invia la richiesta.

    Spot

    Prima di inviare la richiesta, esamina tutti i passaggi seguenti per determinare se includere campi aggiuntivi.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
    {
      "name": "INSTANCE_TEMPLATE_NAME",
      "properties": {
        "machineType": "MACHINE_TYPE",
        "disks": [
          {
            "boot": true,
            "initializeParams": {
              "diskSizeGb": "DISK_SIZE",
              "diskType": "DISK_TYPE",
              "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "mode": "READ_WRITE",
            "type": "PERSISTENT"
          }
        ],
        "serviceAccounts": [
          {
            "email": "default",
            "scopes": [
              "https://www.googleapis.com/auth/cloud-platform"
            ]
          }
        ],
        "networkInterfaces": [
          {
            "accessConfigs": [
              {
                "name": "external-nat",
                "type": "ONE_TO_ONE_NAT"
              }
            ],
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
          },
          {
            "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
            "nicType": "GVNIC",
            "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
          }
        ],
        "scheduling":
        {
          "provisioningModel": "SPOT",
          "instanceTerminationAction": "TERMINATION_ACTION",
          "onHostMaintenance": "TERMINATE",
          "automaticRestart": false
        }
      }
    }
    

    Completa i seguenti passaggi:

    1. Sostituisci quanto segue:

      • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
      • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Edge. Per saperne di più, consulta Tipi di macchine GPU nella documentazione di Compute Engine.
      • IMAGE_FAMILY: la famiglia di immagini sistema operativo che vuoi utilizzare. Per un elenco di tutti i sistemi operativi supportati, consulta Sistemi operativi supportati. Per la serie di macchine A3 Edge, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e di disattivare gli aggiornamenti automatici.
      • IMAGE_PROJECT: l'ID progetto dell'immagine sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine sistema operativo Container-Optimized OS cos-121-lts o versioni successive.
      • 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, consulta Disponibilità delle GPU per regioni e zone.
      • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
      • DISK_TYPE: il tipo di disco di avvio. Per questa serie di macchine, ti consigliamo di utilizzare hyperdisk-balanced. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
      • NETWORK_PROJECT_ID: l'ID progetto della rete.
      • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
      • REGION: la regione della subnet.
      • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine esegue il prerilascio dell'istanza, STOP (predefinito) o DELETE.

    2. (Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, aggiungi il seguente campo secondario instanceProperties al corpo della richiesta:

          "resourcePolicies": [
            "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
          ]
      

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID progetto della policy di posizionamento compatto.
      • REGION: la regione della policy di posizionamento compatto.
      • POLICY_NAME: il nome della policy di posizionamento compatto.
    3. Invia la richiesta.

    Dopo aver creato il template di istanza, puoi visualizzarlo per vedere il suo ID ed esaminare le proprietà dell'istanza.

    Crea un MIG

    Dopo aver completato tutti i passaggi precedenti, crea un MIG in base al tuo scenario come segue:

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

    Consulta Crea un MIG con una dimensione target.

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

    Consulta Crea un MIG e una richiesta di ridimensionamento.

    Job di addestramento e ottimizzazione ML distribuiti

    Cesta un MIG con una dimensione target

    Se puoi avviare il job senza creare tutte le VM contemporaneamente, crea un MIG con una dimensione target. La dimensione target determina il numero di VM nel MIG. Quando specifichi una dimensione target, il MIG inizia a creare VM in base alla disponibilità delle risorse attuali. Se alcune risorse sono temporaneamente non disponibili, il MIG tenta continuamente di creare VM per raggiungere le dimensioni 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.

    Crea un MIG a livello di zona o di regione come segue:

    • Per creare un MIG a livello di zona, utilizza il seguente comando:
      gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --zone=ZONE
      
    • Per creare un MIG a livello di regione, utilizza il seguente comando:
      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=TARGET_SIZE \
          --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 istanze nel MIG. L'URL può contenere l'ID o il nome del template 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 istanze che vuoi nel MIG.
    • ZONE: la zona in cui vuoi creare il MIG.
    • REGION: la regione in cui vuoi creare il MIG. 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.

    Crea un MIG a livello di zona o di regione come segue:

    • Per creare un MIG 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",
        "targetSize": TARGET_SIZE
      }
      
    • 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
        {
          "name": "MIG_NAME",
          "instanceTemplate": "INSTANCE_TEMPLATE_URL",
          "targetSize": TARGET_SIZE
        }
      
    Sostituisci quanto segue:
    • PROJECT_ID: l'ID progetto
    • ZONE: la zona in cui vuoi creare il MIG.
    • REGION: la regione in cui vuoi creare il MIG.
    • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template 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 istanze che vuoi nel MIG.

    Crea un MIG e una richiesta di ridimensionamento

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

    Per creare una richiesta di ridimensionamento in un MIG, 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.

    Prenotazione

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:

      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 \
            --zone=ZONE
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

      1. Crea un MIG 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 \
            --zones=ZONE \
            --target-distribution-shape=any-single-zone \
            --instance-redistribution-type=none
          
      2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

    Avvio flessibile

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:

      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 MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

      1. Crea un MIG 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 \
        
            --region=REGION \
            --target-distribution-shape=any-single-zone \
            --instance-redistribution-type=none
          
      2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

    Spot

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:

      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 \
            --zone=ZONE
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

      1. Crea un MIG 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 \
            --zones=ZONE \
            --target-distribution-shape=any-single-zone \
            --instance-redistribution-type=none
          
      2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

        gcloud 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 istanze nel MIG. L'URL può contenere l'ID o il nome del template 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
    • ZONE: la zona in cui vuoi creare il MIG. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere quella 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 Limiti.
    • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del MIG specificato. Se così non fosse, la creazione della richiesta di ridimensionamento non va a buon fine.
    • COUNT: il numero di istanze da aggiungere al MIG contemporaneamente.
    • REGION: la regione in cui vuoi creare il MIG.

    Crea una richiesta di ridimensionamento specificando un elenco di nomi di VM

    Se il tuo workload richiede determinati nomi VM, specifica un elenco di nomi per creare le VM. Il numero di nomi specificati determina il numero di VM che il MIG crea contemporaneamente.

    Per creare una richiesta di ridimensionamento con nomi di VM specifici in un MIG, utilizza il comando beta gcloud compute instance-groups managed resize-requests create con il flag --instances:

    • In un MIG a livello di zona, esegui il seguente comando:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --instances=INSTANCE_NAMES \
          --zone=ZONE
      
    • In un MIG a livello di regione, esegui il seguente comando:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --instances=INSTANCE_NAMES \
          --region=REGION
      
    Sostituisci INSTANCE_NAMES con un elenco separato da virgole di nomi per le VM. Ad esempio, instance-1,instance-2,instance-3.

    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.

    Prenotazione

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      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
        }
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        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 MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      1. Crea un MIG 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"
          }
        }
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
        {
          "name": "RESIZE_REQUEST_NAME",
          "resizeBy": COUNT
        }
        

    Avvio flessibile

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      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 MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        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 MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      1. Crea un MIG 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 MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
        {
          "name": "RESIZE_REQUEST_NAME",
          "resizeBy": COUNT
        }
        

    Spot

    Crea un MIG a livello di zona o di regione e una richiesta di ridimensionamento come segue:

    • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      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
        }
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        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 MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
      1. Crea un MIG 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"
          }
        }
        
      2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
        POST https://compute.googleapis.com/compute/v1/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 MIG. Questa zona deve essere la stessa che contiene il profilo della tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina scelto. Per ulteriori informazioni, vedi Limiti.
    • REGION: la regione in cui vuoi creare il MIG. Questa regione deve essere la stessa che contiene il profilo della tua rete VPC e deve contenere una zona in cui è disponibile il tipo di macchina scelto. Per ulteriori informazioni, vedi Limiti.
    • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template 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.
    • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del MIG specificato. Se così non fosse, la creazione della richiesta di ridimensionamento non va a buon fine.
    • COUNT: il numero di istanze da aggiungere al MIG contemporaneamente

    Crea una richiesta di ridimensionamento specificando un elenco di nomi di VM

    Se il tuo workload richiede determinati nomi VM, specifica un elenco di nomi per creare le VM. Il numero di nomi specificati determina il numero di VM che il MIG crea contemporaneamente.

    Per creare una richiesta di ridimensionamento con nomi di VM specifici in un MIG, utilizza uno dei seguenti metodi:

    Ad esempio, per specificare due nomi di VM, includi quanto segue nel corpo della richiesta:

    {
      "name": "RESIZE_REQUEST_NAME",
      "instances": [
        {
          "name": "INSTANCE_NAME_1"
        },
        {
          "name": "INSTANCE_NAME_2"
        }
      ]
    }
    

    Sostituisci INSTANCE_NAME_1, INSTANCE_NAME_2 con i nomi delle VM.

    Passaggi successivi