Crea un gruppo di istanze gestite G2 ottimizzato per l'AI

Questo documento descrive come creare un gruppo di istanze gestite (MIG) che utilizza tipi di macchine G2. Per saperne di più su questi tipi di macchine ottimizzate per l'acceleratore, consulta Serie G2.

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 G2, tieni conto delle limitazioni sia per il tipo di macchina sia per il MIG.

Limitazioni per le VM G2

Quando crei VM G2, si applicano le seguenti limitazioni:

Limitazioni per il MIG

Prima di iniziare

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

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

Ruoli obbligatori

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

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

Autorizzazioni obbligatorie

Per creare un MIG sono necessarie le seguenti autorizzazioni:

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

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

Panoramica

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

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

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

(Facoltativo) Crea una policy di posizionamento compatto

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

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

gcloud

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

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

Sostituisci quanto segue:

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

REST

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

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

Sostituisci quanto segue:

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

Crea un template di istanza

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

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

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

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 G2 supportano i seguenti tipi di prenotazioni:

  • Prenotazioni on demand
  • Prenotazioni future standard

Per utilizzare questi tipi di prenotazioni, un'istanza deve utilizzare il modello di provisioning standard. Ad esempio, utilizza i seguenti parametri di creazione.

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --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 G2. 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_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
    • 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. (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.
  4. (Facoltativo) Per collegare i dischi SSD locali, aggiungi il seguente flag --local-ssd per ogni disco SSD locale.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Sostituisci quanto segue:

    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  5. 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=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --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 G2. 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_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
    • 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. (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.
  4. (Facoltativo) Per collegare i dischi SSD locali, aggiungi il seguente flag --local-ssd per ogni disco SSD locale.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Sostituisci quanto segue:

    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  5. Esegui il comando.

Avvio flessibile

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza G2. 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_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
    • RUN_DURATION: la durata per cui vuoi eseguire le VM richieste. Devi formattare il valore come numero di giorni, ore, minuti o secondi seguito rispettivamente da d, h, m e s. Ad esempio, specifica 30m per 30 minuti o 1d2h3m4s per un giorno, due ore, tre minuti e quattro secondi. Il valore deve essere compreso tra 10 minuti e sette giorni.
  2. (Facoltativo) Per collegare i dischi SSD locali, aggiungi il seguente flag --local-ssd per ogni disco SSD locale.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Sostituisci quanto segue:

    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  3. Esegui il comando.

Spot

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza G2. 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_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • DISK_SIZE: le dimensioni del disco di avvio in GB. Per ulteriori informazioni, consulta i limiti di dimensioni di Google Cloud Hyperdisk o i limiti di dimensioni di Persistent Disk in base al tipo di disco.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine esegue il prerilascio dell'istanza, STOP (predefinito) o DELETE.

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

    --resource-policies=POLICY_NAME
    

    Sostituisci quanto segue:

    • POLICY_NAME: il nome della policy di posizionamento compatto.
  3. (Facoltativo) Per collegare i dischi SSD locali, aggiungi il seguente flag --local-ssd per ogni disco SSD locale.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Sostituisci quanto segue:

    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  4. (Facoltativo) Per utilizzare la workstation virtuale (vWS) NVIDIA RTX, aggiungi il flag seguente.

    Quando crei un'istanza che utilizza NVIDIA RTX Virtual Workstation, Compute Engine aggiunge automaticamente una licenza vWS. Per informazioni sui prezzi delle workstation virtuali, consulta la pagina dei prezzi delle GPU.

    --accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT
    

    Sostituisci VWS_ACCELERATOR_COUNT con il numero di GPU virtuali che vuoi.

  5. Esegui il comando.

REST

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

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

Prenotazione

Le istanze G2 supportano i seguenti tipi di prenotazioni:

  • Prenotazioni on demand
  • Prenotazioni future standard

Per utilizzare questi tipi di prenotazioni, un'istanza deve utilizzare il modello di provisioning standard. Ad esempio, utilizza i seguenti parametri di creazione.

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "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 G2. 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.
    • DISK_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • 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.
  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. (Facoltativo) Per utilizzare i dischi SSD locali, aggiungi il campo seguente al campo disks[] per ogni disco SSD locale. Separa ogni sottocampo disks[] (incluso il disco di avvio) con una virgola.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Sostituisci quanto segue:

    • ZONE: la zona specificata.
    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  4. (Facoltativo) Per utilizzare la workstation virtuale (vWS) NVIDIA RTX, aggiungi il campo seguente.

    Quando crei un'istanza che utilizza NVIDIA RTX Virtual Workstation, Compute Engine aggiunge automaticamente una licenza vWS. Per informazioni sui prezzi delle workstation virtuali, consulta la pagina dei prezzi delle GPU.

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    Sostituisci VWS_ACCELERATOR_COUNT con il numero di GPU virtuali che vuoi.

  5. Invia la richiesta.

On demand

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "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 G2. 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.
    • DISK_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • 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.

  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. (Facoltativo) Per utilizzare i dischi SSD locali, aggiungi il campo seguente al campo disks[] per ogni disco SSD locale. Separa ogni sottocampo disks[] (incluso il disco di avvio) con una virgola.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Sostituisci quanto segue:

    • ZONE: la zona specificata.
    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  4. (Facoltativo) Per utilizzare la workstation virtuale (vWS) NVIDIA RTX, aggiungi il campo seguente.

    Quando crei un'istanza che utilizza NVIDIA RTX Virtual Workstation, Compute Engine aggiunge automaticamente una licenza vWS. Per informazioni sui prezzi delle workstation virtuali, consulta la pagina dei prezzi delle GPU.

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    Sostituisci VWS_ACCELERATOR_COUNT con il numero di GPU virtuali che vuoi.

  5. Invia la richiesta.

Avvio flessibile

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza G2. 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.
    • DISK_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • RUN_DURATION: la durata, in secondi, per cui vuoi eseguire le VM richieste. Il valore deve essere compreso tra 600, ovvero 600 secondi (10 minuti), e 604800, ovvero 604.800 secondi (sette giorni).
  2. (Facoltativo) Per utilizzare i dischi SSD locali, aggiungi il campo seguente al campo disks[] per ogni disco SSD locale. Separa ogni sottocampo disks[] (incluso il disco di avvio) con una virgola.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Sostituisci quanto segue:

    • ZONE: la zona specificata.
    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  3. Invia la richiesta.

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Completa i seguenti passaggi:

  1. Sostituisci quanto segue:

    • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
    • MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza G2. 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.
    • DISK_TYPE: il tipo di disco di avvio. Per saperne di più sui tipi di dischi supportati per il tuo tipo di macchina, consulta Macchine GPU nella famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
    • TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine esegue il prerilascio dell'istanza, STOP (predefinito) o DELETE.

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

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto della policy di posizionamento compatto.
    • REGION: la regione della policy di posizionamento compatto.
    • POLICY_NAME: il nome della policy di posizionamento compatto.
  3. (Facoltativo) Per utilizzare i dischi SSD locali, aggiungi il campo seguente al campo disks[] per ogni disco SSD locale. Separa ogni sottocampo disks[] (incluso il disco di avvio) con una virgola.

    Assicurati che il numero di dischi SSD locali che colleghi sia consentito per il tuo tipo di macchina. Per maggiori dettagli, consulta Informazioni sui dischi SSD locali nella documentazione di Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Sostituisci quanto segue:

    • ZONE: la zona specificata.
    • INTERFACE_TYPE: il tipo di interfaccia del disco che vuoi utilizzare per il disco SSD locale. Se l'immagine disco di avvio contiene driver NVMe ottimizzati, specifica NVME. Specifica SCSI per le altre immagini.

    Dopo aver creato una VM con dischi SSD locali, per poterla utilizzare devi prima formattare e montare ogni dispositivo.

  4. (Facoltativo) Per utilizzare la workstation virtuale (vWS) NVIDIA RTX, aggiungi il campo seguente.

    Quando crei un'istanza che utilizza NVIDIA RTX Virtual Workstation, Compute Engine aggiunge automaticamente una licenza vWS. Per informazioni sui prezzi delle workstation virtuali, consulta la pagina dei prezzi delle GPU.

    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
    

    Sostituisci VWS_ACCELERATOR_COUNT con il numero di GPU virtuali che vuoi.

  5. Invia la richiesta.

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

Crea un MIG

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

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

Consulta Crea un MIG con una dimensione target.

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

Consulta Crea un MIG e una richiesta di ridimensionamento.

Job di addestramento e ottimizzazione ML distribuiti

Cesta un MIG con una dimensione target

Se puoi avviare il job senza creare tutte le VM contemporaneamente, crea un MIG con una dimensione target. La dimensione target determina il numero di VM nel MIG. 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.

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

  • Per creare un MIG a livello di zona, utilizza il seguente comando:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --zone=ZONE
    
  • Per creare un MIG a livello di regione, utilizza il seguente comando:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --region=REGION
    
Sostituisci quanto segue:
  • MIG_NAME: il nome del MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: il numero di istanze che vuoi nel MIG.
  • ZONE: la zona in cui vuoi creare il MIG.
  • REGION: la regione in cui vuoi creare il MIG. Per un MIG a livello di regione, anziché una regione, puoi specificare le zone in quella regione utilizzando il flag --zones.

REST

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

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

  • Per creare un MIG a livello di zona, invia una richiesta POST al metodo instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE
    }
    
  • Per creare un MIG a livello di regione, invia una richiesta POST al metodo regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE
      }
    
Sostituisci quanto segue:
  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui vuoi creare il MIG.
  • REGION: la regione in cui vuoi creare il MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • MIG_NAME: il nome del MIG.
  • TARGET_SIZE: il numero di istanze che vuoi nel MIG.

Crea un MIG e una richiesta di ridimensionamento

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

Per creare una richiesta di ridimensionamento in un MIG, seleziona una delle seguenti opzioni:

gcloud

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

Prenotazione

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

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

On demand

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

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

Avvio flessibile

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

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

Spot

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

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zone=ZONE
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

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

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

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione utilizzando il comando instance-groups managed resize-requests create come segue. Questo comando specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
Sostituisci quanto segue:
  • MIG_NAME: il nome del MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • ZONE: la zona in cui vuoi creare il MIG. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere quella che contiene il profilo per la tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina. Per ulteriori informazioni, vedi Limiti.
  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del MIG specificato. Se così non fosse, la creazione della richiesta di ridimensionamento non va a buon fine.
  • COUNT: il numero di istanze da aggiungere al MIG contemporaneamente.
  • REGION: la regione in cui vuoi creare il MIG.

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

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

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

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

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

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

REST

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

Prenotazione

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

  • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

On demand

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

  • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Avvio flessibile

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

  • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

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

  • Per creare un MIG a livello di zona e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di zona inviando una richiesta POST al metodo instanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Per creare un MIG a livello di regione e una richiesta di ridimensionamento al suo interno, segui questi passaggi:
    1. Crea un MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagers.insert come segue.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        }
      }
      
    2. Crea una richiesta di ridimensionamento nel MIG a livello di regione inviando una richiesta POST al metodo regionInstanceGroupManagerResizeRequests.insert come segue. Questa richiesta specifica il numero di VM che vuoi creare. Se il tuo workload richiede determinati nomi VM, crea una richiesta di ridimensionamento specificando un elenco di nomi VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Sostituisci quanto segue:
  • PROJECT_ID: l'ID progetto
  • ZONE: la zona in cui vuoi creare il MIG. Questa zona deve essere la stessa che contiene il profilo della tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina scelto. Per ulteriori informazioni, vedi Limiti.
  • REGION: la regione in cui vuoi creare il MIG. Questa regione deve essere la stessa che contiene il profilo della tua rete VPC e deve contenere una zona in cui è disponibile il tipo di macchina scelto. Per ulteriori informazioni, vedi Limiti.
  • INSTANCE_TEMPLATE_URL: l'URL del template di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del template di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • MIG_NAME: il nome del MIG.
  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del MIG specificato. Se così non fosse, la creazione della richiesta di ridimensionamento non va a buon fine.
  • COUNT: il numero di istanze da aggiungere al MIG contemporaneamente

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

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

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

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

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

Sostituisci INSTANCE_NAME_1, INSTANCE_NAME_2 con i nomi delle VM.

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. Il driver da installare dipende dal fatto che l'istanza abbia attivato o meno la workstation virtuale (vWS) NVIDIA RTX. Utilizza una delle seguenti opzioni:

Passaggi successivi