Crea istanze ottimizzate per l'AI in blocco con A3 High o A3 Mega

Questo documento spiega come creare istanze di macchine virtuali (VM) in blocco che utilizzano tipi di macchine ottimizzati per l'acceleratore A3 High o A3 Mega. Per saperne di più sui tipi di macchine, consulta A3 High e A3 Mega nella documentazione di Compute Engine.

Per saperne di più sulla creazione di VM in blocco, consulta Informazioni sulla creazione in blocco delle VM nella documentazione di Compute Engine.

Per scoprire altri modi per creare VM o cluster, consulta la pagina Panoramica.

Prima di iniziare

Prima di creare VM in blocco, se non l'hai ancora fatto, completa i seguenti passaggi:

  1. Scegli un'opzione di consumo: l'opzione di consumo scelta determina come ottenere e utilizzare le risorse GPU.

    Per saperne di più, consulta la sezione Scegliere un'opzione di consumo.

  2. Ottenere capacità: la procedura per ottenere capacità varia a seconda dell'opzione di consumo.

    Per scoprire di più sulla procedura per ottenere la capacità per l'opzione di consumo scelta, consulta Panoramica della capacità.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

REST

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

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

    gcloud init

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

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

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare più VM contemporaneamente, 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 include le autorizzazioni necessarie per creare più VM contemporaneamente. Per visualizzare le autorizzazioni obbligatorie corrette, espandi l'omonima sezione:

Autorizzazioni obbligatorie

Per creare più VM contemporaneamente, sono necessarie le seguenti autorizzazioni:

  • compute.instances.create sul progetto
  • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
  • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly sullo snapshot
  • Per utilizzare un template di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul template di istanza
  • Per specificare una subnet per la VM: compute.subnetworks.use sul progetto o sulla subnet scelta
  • Per specificare un indirizzo IP statico per la VM: compute.addresses.use sul progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp sul progetto o sulla subnet scelta
  • Per assegnare una rete legacy alla VM: compute.networks.use sul progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy: compute.networks.useExternalIp sul progetto
  • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata sul progetto
  • Per impostare i tag per la VM: compute.instances.setTags sulla VM
  • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
  • Per impostare un service account che la VM possa utilizzare: compute.instances.setServiceAccount sulla VM
  • Per creare un nuovo disco per la VM: compute.disks.create sul progetto
  • Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura: compute.disks.use sul disco
  • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco

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

Panoramica

La creazione di istanze collettive con il tipo di macchina a3h o a3m include i seguenti passaggi:

  1. Crea reti VPC
  2. (Facoltativo) Crea una policy di posizionamento compatto
  3. Creare istanze in blocco

Crea reti VPC

Per consentire una comunicazione efficiente per le tue VM GPU, devi creare una rete di gestione e una o più reti di 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 di dati vengono utilizzate per la comunicazione ad alte prestazioni tra le GPU su VM diverse, ad esempio per il traffico Remote Direct Memory Access (RDMA).

Per queste reti VPC, ti consigliamo di impostare l'unità massima di trasmissione (MTU) su un valore maggiore. 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 di dati varia a seconda del 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 di posizionamento compatto

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

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

gcloud

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

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

Sostituisci quanto segue:

  • POLICY_NAME: il nome della policy di posizionamento compatto.
  • MAX_DISTANCE: la configurazione della distanza massima per le VM. Il valore deve essere 3 per posizionare le VM nei blocchi adiacenti o 2 per posizionare le VM nello stesso blocco. Per informazioni sul numero massimo di VM supportate per ogni maxDistance per serie di macchine, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.
  • REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.

REST

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

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

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • POLICY_NAME: il nome della policy di posizionamento compatto.
  • MAX_DISTANCE: la configurazione della distanza massima per le VM. Il valore deve essere 3 per posizionare le VM nei blocchi adiacenti o 2 per posizionare le VM nello stesso blocco. Per informazioni sul numero massimo di VM supportate per ogni maxDistance per serie di macchine, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.
  • REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.

Crea VM A3 High o A3 Mega collettivamente

Per creare più VM A3 High o A3 Mega contemporaneamente, utilizza uno dei seguenti metodi.

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

gcloud

Per creare una VM A3 High o A3 Mega, utilizza il comando gcloud compute instances bulk create.

A3 Mega

Per creare più VM contemporaneamente, utilizza il comando gcloud compute instances bulk create.

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.

Con prenotazione

Prima di eseguire il comando, aggiungi facoltativamente il flag per una policy di posizionamento compatto.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --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=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 Mega, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e disattivare gli aggiornamenti automatici oppure di utilizzare l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o versioni successive oppure utilizza rocky-linux-accelerator-cloud per l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580.
    • REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare la stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, consulta la sezione Disponibilità delle GPU per regioni e zone.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano schede di interfaccia di rete 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, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
      • Per creare istanze in più blocchi o in un singolo blocco:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Inoltre, per un singolo blocco, applica una policy di posizionamento compatto che specifica una collocazione di blocchi (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

      • Per creare istanze su un blocco specifico:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) la VM al termine del periodo di prenotazione.

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

      --resource-policies=POLICY_NAME
    

    Sostituisci quanto segue:

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

Spot

Prima di eseguire il comando, aggiungi facoltativamente il flag per una policy di posizionamento compatto.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --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

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 Mega, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e disattivare gli aggiornamenti automatici oppure di utilizzare l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o versioni successive oppure utilizza rocky-linux-accelerator-cloud per l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580.
    • REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare la stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, consulta la sezione Disponibilità delle GPU per regioni e zone.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano schede di interfaccia di rete gVNIC.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovvero STOP (impostazione predefinita) o DELETE.

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

      --resource-policies=POLICY_NAME
    

    Sostituisci quanto segue:

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

A3 High

Per creare più VM contemporaneamente, utilizza il comando gcloud compute instances bulk create.

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.

Con prenotazione

Prima di eseguire il comando, aggiungi facoltativamente il flag per una policy di posizionamento compatto.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 High, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o successiva e di disattivare gli aggiornamenti automatici. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o successiva.
    • REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare la stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, consulta la sezione Disponibilità delle GPU per regioni e zone.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano schede di interfaccia di rete 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, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
      • Per creare istanze in più blocchi o in un singolo blocco:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Inoltre, per un singolo blocco, applica una policy di posizionamento compatto che specifica una collocazione di blocchi (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

      • Per creare istanze su un blocco specifico:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) la VM al termine del periodo di prenotazione.

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

      --resource-policies=POLICY_NAME
    

    Sostituisci quanto segue:

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

Spot

Prima di eseguire il comando, aggiungi facoltativamente il flag per una policy di posizionamento compatto.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 High, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o successiva e di disattivare gli aggiornamenti automatici. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o successiva.
    • REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare la stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, consulta la sezione Disponibilità delle GPU per regioni e zone.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti VPC e delle subnet standard che utilizzano schede di interfaccia di rete gVNIC.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovvero STOP (impostazione predefinita) o DELETE.

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

      --resource-policies=POLICY_NAME
    

    Sostituisci quanto segue:

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

REST

Per creare una VM A3 High o A3 Mega, utilizza il metodo instances.bulkInsert.

A3 Mega

Per creare più VM contemporaneamente, invia una richiesta POST al metodo instances.bulkInsert.

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.

Con prenotazione

Prima di inviare la richiesta, aggiungi facoltativamente il campo secondario instanceProperties per una policy di posizionamento compatto al corpo della richiesta.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "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
      }
  }
}

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del progetto in cui vuoi creare la VM.
    • ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.
    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • VM_NAME: il nome della VM.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o versioni successive oppure utilizza rocky-linux-accelerator-cloud per l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 Mega, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e disattivare gli aggiornamenti automatici oppure di utilizzare l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • 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 schede di interfaccia di rete 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, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
      • Per creare istanze in più blocchi o in un singolo blocco:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Inoltre, per un singolo blocco, applica una policy di posizionamento compatto che specifica una collocazione di blocchi (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

      • Per creare istanze su un blocco specifico:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) la VM al termine del periodo di prenotazione.

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

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

    Sostituisci quanto segue:

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

Spot

Prima di inviare la richiesta, aggiungi facoltativamente il campo secondario instanceProperties per una policy di posizionamento compatto al corpo della richiesta.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"DISK_TYPE",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "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
    }
  }
}

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del progetto in cui vuoi creare la VM.
    • ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.
    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • VM_NAME: il nome della VM.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o versioni successive oppure utilizza rocky-linux-accelerator-cloud per l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 Mega, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o versioni successive e disattivare gli aggiornamenti automatici oppure di utilizzare l'immagine Rocky Linux rocky-linux-8-optimized-gcp-nvidia-580. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • 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 schede di interfaccia di rete gVNIC.
    • REGION: la regione della subnet.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovvero STOP (impostazione predefinita) o DELETE.

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

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

    Sostituisci quanto segue:

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

A3 High

Per creare più VM contemporaneamente, invia una richiesta POST al metodo instances.bulkInsert.

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.

Con prenotazione

Prima di inviare la richiesta, aggiungi facoltativamente il campo secondario instanceProperties per una policy di posizionamento compatto al corpo della richiesta.

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

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del progetto in cui vuoi creare la VM.
    • ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.
    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • VM_NAME: il nome della VM.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o successiva.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 High, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o successiva e di disattivare gli aggiornamenti automatici. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • 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 schede di interfaccia di rete 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, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:
      • Per creare istanze in più blocchi o in un singolo blocco:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Inoltre, per un singolo blocco, applica una policy di posizionamento compatto che specifica una collocazione di blocchi (maxDistance=2) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.

      • Per creare istanze su un blocco specifico:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: indica se Compute Engine arresta (STOP) o elimina (DELETE) la VM al termine del periodo di prenotazione.

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

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

    Sostituisci quanto segue:

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

Spot

Prima di inviare la richiesta, aggiungi facoltativamente il campo secondario instanceProperties per una policy di posizionamento compatto al corpo della richiesta.

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

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del progetto in cui vuoi creare la VM.
    • ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se vuoi specificare una policy di posizionamento compatto, devi utilizzare una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni, vedi Disponibilità delle GPU per regioni e zone.
    • NAME_PATTERN: il pattern del nome delle VM. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi come vm-1 e vm-2, fino al numero di VM specificato da --count.
    • COUNT: il numero di VM da creare.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per saperne di più, consulta Tipi di macchine GPU.
    • VM_NAME: il nome della VM.
    • DISK_SIZE: le dimensioni del disco di avvio in GB.
    • DISK_TYPE: il tipo di disco di avvio. Ti consigliamo di utilizzare hyperdisk-balanced.
    • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo. Ad esempio, utilizza cos-cloud per l'immagine Container-Optimized OS cos-121-lts o successiva.
    • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per la serie di macchine A3 High, ti consigliamo vivamente di utilizzare l'immagine Container-Optimized OS cos-121-lts o successiva e di disattivare gli aggiornamenti automatici. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.
    • 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 schede di interfaccia di rete gVNIC.
    • REGION: la regione della subnet.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovvero STOP (impostazione predefinita) o DELETE.

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

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

    Sostituisci quanto segue:

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

Per saperne di più sulle opzioni di configurazione durante la creazione di VM in blocco, consulta Crea VM in blocco nella documentazione di Compute Engine.

Passaggi successivi