Crea un MIG con sezioni Cloud TPU single-host

Questo documento descrive come creare un gruppo di istanze gestite (MIG) con più sezioni TPU single-host indipendenti.

Prerequisiti

Completa i seguenti prerequisiti:

  1. Crea un progetto per le tue TPU come descritto in Configurare un progetto per le TPU.
  2. Determina i requisiti della TPU come descritto in Pianificare le risorse.

Crea un MIG con più sezioni TPU single-host

Per creare più VM TPU indipendenti in un MIG:

  1. Crea un template di istanza.
  2. Crea il MIG.

Crea un template di istanza

Le configurazioni del template di istanza variano in base all'opzione di consumo che utilizzi: on demand, Spot, prenotazioni o avvio flessibile. Per maggiori informazioni sulle opzioni di consumo, consulta Pianificare le risorse TPU.

Crea un modello di istanza per una VM TPU on demand

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo on demand:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore è ubuntu-os-accelerator-images.

Crea un modello di istanza per una VM spot TPU

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo Spot:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=STOP \
    --provisioning-model=SPOT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore è ubuntu-os-accelerator-images.

Crea un modello di istanza per una VM associata a una prenotazione TPU

Il seguente comando crea un template di istanza che utilizza l'opzione di consumo reservation-bound:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=DELETE \
    --reservation-affinity=specific \
    --provisioning-model=reservation-bound \
    --reservation=RESERVATION_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • RESERVATION_NAME: il nome di una prenotazione specifica che vuoi utilizzare.
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore è ubuntu-os-accelerator-images.

Crea un modello di istanza per una VM TPU con avvio flessibile

Il seguente comando crea un modello di istanza che utilizza l'opzione di consumo Flex-start:

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=DELETE \
    --provisioning-model=FLEX_START \
    --max-run-duration=DURATION \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Sostituisci i seguenti segnaposto:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio, ct6e-standard-8t).
  • DURATION: la durata massima di esecuzione della VM TPU (ad esempio, 1h).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per ulteriori informazioni sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: Il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, questo valore è ubuntu-os-accelerator-images.

Crea un MIG

Crea un MIG a livello di zona o di regione utilizzando il comando gcloud compute instance-groups managed create come segue:

  • Per creare un gruppo di istanze gestite a livello di zona contenente una sezione TPU a host singolo, utilizza il seguente comando:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Per creare un gruppo di istanze gestite a livello di regione contenente uno slice TPU single-host, utilizza il seguente comando:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=ANY_SINGLE_ZONE \
        --instance-redistribution-type=none
    

Sostituisci i seguenti segnaposto:

  • MIG_NAME: il nome del tuo MIG.
  • MIG_SIZE: il numero di VM nel MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:
    • Per un template di istanza regionale: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Per un template di istanza globale: INSTANCE_TEMPLATE_ID
  • ZONE: La zona in cui vuoi che venga eseguito il provisioning del MIG.
  • REGION: La regione in cui vuoi che venga eseguito il provisioning del MIG.

Crea VM con nomi personalizzati in un MIG

Puoi creare VM in un MIG specificando nomi personalizzati per ogni VM. Questa attività è utile per il debug e per garantire che le istanze vengano create in un ordine specifico.

gcloud

Crea una VM con un nome personalizzato utilizzando il comando create-instance e specifica il flag --instance. Per creare più VM, ripeti il comando per ogni VM. In caso contrario, utilizza il metodo dell'API REST per specificare più VM in un'unica richiesta.

  • Per un MIG a livello di zona, utilizza il seguente comando:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --zone=ZONE \
        --instance=INSTANCE_NAME
    
  • Per un MIG a livello di regione, utilizza il seguente comando:

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --region=REGION \
        --instance=INSTANCE_NAME
    

Sostituisci i seguenti segnaposto:

  • MIG_NAME: il nome del tuo MIG.
  • ZONE: la zona del gruppo di istanze gestite.
  • REGION: la regione del gruppo di istanze gestite.
  • INSTANCE_NAME: il nome della VM da aggiungere al MIG specificato.

REST

Crea VM con nomi personalizzati utilizzando uno dei seguenti metodi dell'API REST:

  • Per un MIG a livello di zona, utilizza instanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

  • Per un MIG a livello di regione, utilizza regionInstanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del progetto in cui esiste il gruppo di istanze gestite.
  • ZONE: la zona del gruppo di istanze gestite.
  • REGION: la regione del gruppo di istanze gestite.
  • INSTANCE_NAME_1,2,..: i nomi delle VM da aggiungere al MIG specificato.

Passaggi successivi