Crea un gruppo di istanze gestite A3 High o A3 Mega ottimizzato per l'AI

Questo documento descrive come creare un gruppo di istanze gestite (MIG) che utilizza un tipo di macchina A3 High o A3 Mega ottimizzato per l'acceleratore. Per saperne di più sui tipi di macchine, consulta Informazioni sugli acceleratori GPU.

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 le VM nel gruppo, i MIG offrono alta affidabilità e scalabilità. Per saperne di più sui MIG, consulta Gruppi di istanze gestite nella documentazione di Compute Engine.

Per scoprire altri modi per creare VM o cluster, consulta Panoramica delle opzioni di deployment.

Limitazioni

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

Limitazioni per le VM A3 Mega o A3 High

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

A3 Mega

A3 High

Limitazioni per il MIG

Quando crei un MIG con VM A3 Mega o A3 High, si applicano le seguenti limitazioni:

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

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.) 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 Mega o A3 High (8 GPU) prevede i seguenti passaggi:

  1. Crea reti VPC
  2. (Facoltativo) Crea una policy del workload
  3. Crea un template di istanza
  4. Crea un MIG
  5. Installa i driver della GPU
  6. (Facoltativo) Attiva la modalità GPU multi-istanza NVIDIA

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

Il numero di reti dati varia in base al tipo di macchina GPU che stai creando.

A3 Mega

A3 Mega richiede otto reti dati. Per creare otto reti dati, ciascuna con subnet e regole firewall, utilizza il seguente comando.

for N in $(seq 1 8); 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

A3 High

A3 High 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 del workload

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

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

gcloud

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

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

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Per la collocazione rigorosa delle VM, specifica i flag --max-topology-distance e --type=high-throughput 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.
  • TOPOLOGY_DISTANCE: la distanza topologica massima. Specifica uno dei seguenti valori:
    • Per posizionare le VM nello stesso blocco: BLOCK
    • Per posizionare le VM nello stesso cluster: CLUSTER
    Nota: una distanza massima più breve può ridurre la probabilità di disponibilità delle VM. Per saperne di più, consulta Proprietà Distanza topologia massima.
  • REGION: la regione in cui vuoi creare la policy del workload. Specifica una regione in cui vuoi creare il MIG e in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, consulta Disponibilità delle GPU per regioni e zone.

REST

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

  • Per un posizionamento best-effort delle VM, specifica 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 i campi maxTopologyDistance e type nella richiesta come segue:

    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 in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, consulta Disponibilità delle GPU per regioni e zone.
  • WORKLOAD_POLICY_NAME: il nome della policy del workload.
  • TOPOLOGY_DISTANCE: la distanza topologica massima. Specifica uno dei seguenti valori:
    • Per posizionare le VM nello stesso blocco: BLOCK
    • Per posizionare le VM nello stesso cluster: CLUSTER
    Nota: una distanza massima più breve può ridurre la probabilità di disponibilità delle VM. Per saperne di più, consulta Proprietà Distanza topologia massima.

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.

A3 Mega

Per creare un template di istanza per le VM A3 Mega, devi specificare otto interfacce di rete aggiuntive per il traffico GPUDirect-TCPXO. Se non l'hai ancora fatto, assicurati di aver creato otto 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

Le istanze A3 Mega o A3 High (8 GPU) supportano più modelli di provisioning per le prenotazioni. Seleziona la scheda corrispondente al tipo di prenotazione che vuoi utilizzare.

  • Utilizza i parametri Con prenotazione, che specificano il modello di provisioning con prenotazione, per quanto segue:

    • Prenotazioni future per blocchi di capacità
    • Prenotazioni future in modalità calendario
  • Utilizza i parametri Prenotazione standard, che specificano il modello di provisioning standard, per quanto segue:

    • Prenotazioni on demand
    • Prenotazioni future standard

Con prenotazione

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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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, crea il MIG applicando una policy del workload che specifica una collocazione del blocco (maxTopologyDistance=BLOCK). 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

Prenotazione standard

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=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 \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

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 Mega o A3 High (8 GPU). 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.
    • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
    • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

      • any (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

      • specific (La capacità di prenotazione è obbligatoria): richiede che l'istanza utilizzi la capacità di una prenotazione con target specifico. L'istanza non è autorizzata a utilizzare la capacità on demand. Se la capacità della prenotazione non è disponibile, la creazione dell'istanza non va a buon fine.

    • RESERVATION: la prenotazione da utilizzare. Specifica uno dei seguenti valori in base al valore specificato per RESERVATION_AFFINITY:

      • Se hai specificato any, sostituisci RESERVATION con una stringa vuota (""). In alternativa, puoi rimuovere completamente il flag --reservation.
      • Se hai specificato specific, sostituisci RESERVATION con quanto segue:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Sostituisci quanto segue:

        • RESERVATION_OWNER_PROJECT_ID: l'ID progetto in cui è stata creata la prenotazione.
        • RESERVATION_NAME: il nome della prenotazione.
  2. Per impostazione predefinita, l'istanza si riavvia automaticamente se si arresta in modo anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Se vuoi disattivare il riavvio automatico, aggiungi il seguente flag:

    --no-restart-on-failure
  3. Esegui il comando.

On demand

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=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 \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

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 Mega o A3 High (8 GPU). 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.
    • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
    • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

      • any (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

      • none (è richiesta la capacità on demand): impedisce all'istanza di utilizzare qualsiasi capacità di prenotazione.

  2. Per impostazione predefinita, l'istanza si riavvia automaticamente se si arresta in modo anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Se vuoi disattivare il riavvio automatico, aggiungi il seguente flag:

    --no-restart-on-failure
  3. Esegui il comando.

Avvio flessibile

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 \
    --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 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --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 template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

Spot

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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

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

Le istanze A3 Mega o A3 High (8 GPU) supportano più modelli di provisioning per le prenotazioni. Seleziona la scheda corrispondente al tipo di prenotazione che vuoi utilizzare.

  • Utilizza i parametri Reservation-bound, che specificano il modello di provisioning con prenotazione, per:

    • Prenotazioni future per blocchi di capacità
    • Prenotazioni future in modalità calendario
  • Utilizza i parametri Prenotazione standard, che specificano il modello di provisioning standard, per quanto segue:

    • Prenotazioni on demand
    • Prenotazioni future standard

Con prenotazione

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "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 template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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, crea il MIG applicando una policy del workload che specifica una collocazione del blocco (maxTopologyDistance=BLOCK). 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

Prenotazione standard

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.
  • AUTOMATIC_RESTART: se l'istanza si riavvia automaticamente in caso di arresto anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Specifica true per attivare il riavvio automatico (impostazione predefinita) o false per disattivarlo.

  • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

    • ANY_RESERVATION (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

    • SPECIFIC_RESERVATION (La capacità di prenotazione è obbligatoria): richiede che l'istanza utilizzi la capacità di una prenotazione con target specifico. L'istanza non è autorizzata a utilizzare la capacità on demand. Se la capacità della prenotazione non è disponibile, la creazione dell'istanza non va a buon fine.

  • RESERVATION: la prenotazione da utilizzare. Specifica uno dei seguenti valori in base al valore specificato per RESERVATION_AFFINITY:

    • Se hai specificato ANY_RESERVATION, elimina RESERVATION in modo che il valore sia una stringa vuota (""). In alternativa, puoi rimuovere completamente i campi key e values.
    • Se hai specificato SPECIFIC_RESERVATION, sostituisci RESERVATION con quanto segue:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Sostituisci quanto segue:

      • RESERVATION_OWNER_PROJECT_ID: l'ID progetto in cui è stata creata la prenotazione.
      • RESERVATION_NAME: il nome della prenotazione.

On demand

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.
  • AUTOMATIC_RESTART: se l'istanza si riavvia automaticamente in caso di arresto anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Specifica true per attivare il riavvio automatico (impostazione predefinita) o false per disattivarlo.

  • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

    • ANY_RESERVATION (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

    • NO_RESERVATION (è richiesta la capacità on demand): impedisce all'istanza di utilizzare qualsiasi capacità di prenotazione.

Avvio flessibile

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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).

Spot

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": "hyperdisk-balanced",
          "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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

A3 High

Per creare un template di istanza per le VM A3 High, devi specificare quattro interfacce di rete aggiuntive per il traffico GPUDirect-TCPX. Se non l'hai ancora fatto, assicurati di aver creato 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

Le istanze A3 Mega o A3 High (8 GPU) supportano più modelli di provisioning per le prenotazioni. Seleziona la scheda corrispondente al tipo di prenotazione che vuoi utilizzare.

  • Utilizza i parametri Con prenotazione, che specificano il modello di provisioning con prenotazione, per quanto segue:

    • Prenotazioni future per blocchi di capacità
    • Prenotazioni future in modalità calendario
  • Utilizza i parametri Prenotazione standard, che specificano il modello di provisioning standard, per quanto segue:

    • Prenotazioni on demand
    • Prenotazioni future standard

Con prenotazione

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 \
    --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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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, crea il MIG applicando una policy del workload che specifica una collocazione del blocco (maxTopologyDistance=BLOCK). 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

Prenotazione standard

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=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 \
    --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=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

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 Mega o A3 High (8 GPU). 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.
    • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
    • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

      • any (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

      • specific (La capacità di prenotazione è obbligatoria): richiede che l'istanza utilizzi la capacità di una prenotazione con target specifico. L'istanza non è autorizzata a utilizzare la capacità on demand. Se la capacità della prenotazione non è disponibile, la creazione dell'istanza non va a buon fine.

    • RESERVATION: la prenotazione da utilizzare. Specifica uno dei seguenti valori in base al valore specificato per RESERVATION_AFFINITY:

      • Se hai specificato any, sostituisci RESERVATION con una stringa vuota (""). In alternativa, puoi rimuovere completamente il flag --reservation.
      • Se hai specificato specific, sostituisci RESERVATION con quanto segue:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Sostituisci quanto segue:

        • RESERVATION_OWNER_PROJECT_ID: l'ID progetto in cui è stata creata la prenotazione.
        • RESERVATION_NAME: il nome della prenotazione.
  2. Per impostazione predefinita, l'istanza si riavvia automaticamente se si arresta in modo anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Se vuoi disattivare il riavvio automatico, aggiungi il seguente flag:

    --no-restart-on-failure
  3. Esegui il comando.

On demand

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=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 \
    --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=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

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 Mega o A3 High (8 GPU). 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.
    • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano NIC gVNIC.
    • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

      • any (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

      • none (è richiesta la capacità on demand): impedisce all'istanza di utilizzare qualsiasi capacità di prenotazione.

  2. Per impostazione predefinita, l'istanza si riavvia automaticamente se si arresta in modo anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Se vuoi disattivare il riavvio automatico, aggiungi il seguente flag:

    --no-restart-on-failure
  3. Esegui il comando.

Avvio flessibile

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 \
    --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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

Spot

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 \
    --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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

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

Le istanze A3 Mega o A3 High (8 GPU) supportano più modelli di provisioning per le prenotazioni. Seleziona la scheda corrispondente al tipo di prenotazione che vuoi utilizzare.

  • Utilizza i parametri Con prenotazione, che specificano il modello di provisioning con prenotazione, per quanto segue:

    • Prenotazioni future per blocchi di capacità
    • Prenotazioni future in modalità calendario
  • Utilizza i parametri Prenotazione standard, che specificano il modello di provisioning standard, per quanto segue:

    • Prenotazioni on demand
    • Prenotazioni future standard

Con prenotazione

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": "hyperdisk-balanced",
          "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
      }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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, crea il MIG applicando una policy del workload che specifica una collocazione del blocco (maxTopologyDistance=BLOCK). 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

Prenotazione standard

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": "hyperdisk-balanced",
          "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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.
  • AUTOMATIC_RESTART: se l'istanza si riavvia automaticamente in caso di arresto anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Specifica true per attivare il riavvio automatico (impostazione predefinita) o false per disattivarlo.

  • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

    • ANY_RESERVATION (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

    • SPECIFIC_RESERVATION (La capacità di prenotazione è obbligatoria): richiede che l'istanza utilizzi la capacità di una prenotazione con target specifico. L'istanza non è autorizzata a utilizzare la capacità on demand. Se la capacità della prenotazione non è disponibile, la creazione dell'istanza non va a buon fine.

  • RESERVATION: la prenotazione da utilizzare. Specifica uno dei seguenti valori in base al valore specificato per RESERVATION_AFFINITY:

    • Se hai specificato ANY_RESERVATION, elimina RESERVATION in modo che il valore sia una stringa vuota (""). In alternativa, puoi rimuovere completamente i campi key e values.
    • Se hai specificato SPECIFIC_RESERVATION, sostituisci RESERVATION con quanto segue:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Sostituisci quanto segue:

      • RESERVATION_OWNER_PROJECT_ID: l'ID progetto in cui è stata creata la prenotazione.
      • RESERVATION_NAME: il nome della prenotazione.

On demand

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": "hyperdisk-balanced",
          "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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.
  • AUTOMATIC_RESTART: se l'istanza si riavvia automaticamente in caso di arresto anomalo o se Compute Engine la arresta per un arresto programmato, ad esempio un evento di manutenzione. Specifica true per attivare il riavvio automatico (impostazione predefinita) o false per disattivarlo.

  • RESERVATION_AFFINITY: le prenotazioni che l'istanza può utilizzare, se possibile. Specifica una delle seguenti opzioni:

    • ANY_RESERVATION (La capacità di prenotazione è facoltativa): questa è l'opzione predefinita. L'istanza tenta di utilizzare la capacità di una prenotazione consumata automaticamente, il che avviene solo se è disponibile una capacità di prenotazione corrispondente. In caso contrario, l'istanza utilizza la capacità on demand.

    • NO_RESERVATION (è richiesta la capacità on demand): impedisce all'istanza di utilizzare qualsiasi capacità di prenotazione.

Avvio flessibile

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": "hyperdisk-balanced",
          "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"
      }

  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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).

Spot

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": "hyperdisk-balanced",
          "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
    }
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza A3 Mega o A3 High (8 GPU). 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.
  • IMAGE_PROJECT: l'ID progetto dell'immagine 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, 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.
  • 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.

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. Il MIG inizia a creare VM in base alla disponibilità corrente delle risorse. Se alcune risorse non sono temporaneamente 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.

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

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 \
      --workload-policy=WORKLOAD_POLICY_URL \
      --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 \
        --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 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.
  • 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, rimuovi il flag --workload-policy.
  • ZONE: la zona in cui vuoi creare il MIG. Se utilizzi una policy di workload, specifica una zona all'interno della regione della policy.
  • 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 che utilizzi per creare un MIG utilizzano una policy di workload per specificare il posizionamento delle istanze. Se non vuoi utilizzare una policy del workload, rimuovi il campo resourcePolicies.workloadPolicy.

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,
      "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
      {
        "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 una policy di workload, specifica una zona all'interno della regione della policy.
  • 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 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.
  • 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, rimuovi 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 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

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

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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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
      

On demand

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

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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
      
          --workload-policy=WORKLOAD_POLICY_URL \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none \
          --workload-policy=WORKLOAD_POLICY_URL
        
    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

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

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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --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
  • 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, rimuovi il flag --workload-policy.
  • 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

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

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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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
      }
      

On demand

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

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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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

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

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,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    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.
  • 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, rimuovi il campo resourcePolicies.workloadPolicy.
  • 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.

Installa i driver della GPU

Dopo aver creato un'istanza, questa non può utilizzare le GPU a meno che non siano già installati i driver GPU corretti. Se non hai specificato un'immagine sistema operativo che include i driver GPU, consulta Installa i driver GPU nella documentazione di Compute Engine.

(Facoltativo) Attiva la modalità GPU multi-istanza NVIDIA

La modalità GPU multi-istanza (MIG) è una funzionalità che puoi attivare per una GPU NVIDIA supportata. Dopo aver creato un'istanza, puoi attivare la modalità MIG su una singola GPU collegata alla tua macchina. Con la modalità MIG attivata, la singola GPU viene partizionata in un massimo di sette istanze GPU indipendenti. Ogni istanza viene eseguita contemporaneamente, ognuna con la propria memoria, cache e i propri multiprocessori streaming. Puoi quindi eseguire diversi workload su queste istanze GPU in parallelo. Per saperne di più sull'utilizzo della modalità MIG, consulta la guida dell'utente per le GPU multi-istanza (MIG) nella documentazione di NVIDIA.

Passaggi successivi