Consumir uma reserva
Se você tiver uma reserva de TPU, use os recursos reservados para criar TPUs que correspondam às propriedades da reserva. Essa ação é conhecida como consumir uma reserva. Para saber como consumir uma reserva de TPU usando o Google Kubernetes Engine (GKE), consulte Reserva de TPU na documentação do GKE.
A forma de consumir uma reserva depende de como você cria as VMs de TPU. É possível criar instâncias de VM de TPU ou um MIG com TPUs.
Consumir uma reserva ao criar uma VM de TPU
Ao criar uma instância de VM de TPU, especifique a reserva a ser consumida usando os parâmetros --reservation-affinity e --reservation:
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--reservation-affinity=specific \
--reservation=projects/PROJECT_ID/reservations/RESERVATION_NAME \
--provisioning-model=reservation-bound \
--maintenance-policy=TERMINATE
Substitua os seguintes marcadores de posição:
- TPU_NAME: o nome da VM de TPU.
- MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images. - ZONE: a zona da VM de TPU (por exemplo, us-central1-b).
- PROJECT_ID: o ID do projeto para o qual a reserva foi feita.
- RESERVATION_NAME: o nome da reserva formatado como
projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.
Efetivar uma reserva ao criar um MIG
Há dois tipos de MIGs que podem ser criados com VMs de TPU:
- MIGs com frações de host único.
- MIGs com uma fatia de vários hosts.
Consumir uma reserva ao criar um MIG com intervalos de host único
Para consumir uma reserva ao criar um MIG com intervalos de host único, especifique a reserva como parte do modelo de instância.
Para criar um MIG com frações de host único:
- Criar modelo de instância
- Opcional: criar uma política de carga de trabalho
- Criar MIG
Criar um modelo de instância que consome uma reserva
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
Substitua os seguintes marcadores de posição:
- INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
- MACHINE_TYPE: o tipo de máquina da VM da TPU (por exemplo,
ct6e-standard-8t). - RESERVATION_NAME: o nome da reserva formatado como
projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME. - IMAGE_FAMILY: a família de imagens do SO
para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images.
Criar o MIG
É possível criar um MIG zonal ou um MIG regional.
Criar um MIG zonal
gcloud compute instance-groups managed create MIG_NAME \
--size=SIZE \
--template=INSTANCE_TEMPLATE_NAME \
--zone=ZONE
Substitua os seguintes marcadores de posição:
- MIG_NAME: o nome do MIG.
- SIZE: o número de VMs de TPU no MIG.
- INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
- ZONE: a zona em que você quer provisionar o MIG.
Criar um MIG regional
gcloud compute instance-groups managed create MIG_NAME \
--size=SIZE \
--template=INSTANCE_TEMPLATE_NAME\
--region=REGION \
--target-distribution-shape=any
Substitua os seguintes marcadores de posição:
- MIG_NAME: o nome do MIG.
- SIZE: o número de VMs de TPU no MIG.
- INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
- REGION: a zona em que você quer provisionar o MIG.
Para mais informações sobre a flag --target-distribution-shape, consulte Definir um formato de distribuição de destino para VMs em um MIG regional.
Consumir uma reserva ao criar um MIG com uma fração de vários hosts
Para consumir uma reserva ao criar um MIG com uma fração de vários hosts, especifique a reserva como parte do modelo de instância.
Criar um modelo de instância que consome uma reserva
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
Substitua os seguintes marcadores de posição:
- INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
- MACHINE_TYPE: o tipo de máquina da VM da TPU (por exemplo,
ct6e-standard-8t). - RESERVATION_NAME: o nome da reserva formatado como
projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME. - IMAGE_FAMILY: a família de imagens do SO
para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, é
ubuntu-os-accelerator-images.
Criar uma política de carga de trabalho
É possível especificar uma política de carga de trabalho para seus MIGs. Para mais informações, consulte Política de carga de trabalho para MIGs.
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
--type=high-throughput \
--accelerator-topology=TOPOLOGY
Substitua os seguintes marcadores de posição:
- WORKLOAD_POLICY_NAME: um nome para a política de carga de trabalho.
- TOPOLOGY: a topologia das VMs de TPU, por exemplo,
4x4x8. Para mais informações sobre a topologia de cada versão de TPU, consulte Versões de TPU.
Criar o MIG
É possível criar um MIG zonal ou regional.
Criar um MIG zonal
gcloud compute instance-groups managed create MIG_NAME \
--size=SIZE \
--target-size-policy-mode=bulk \
--default-action-on-vm-failure=do-nothing \
--template=INSTANCE_TEMPLATE_URL \
--zone=ZONE \
--workload-policy=WORKLOAD_POLICY_URL
Substitua os seguintes marcadores de posição:
- MIG_NAME: o nome do MIG.
- SIZE: o número de VMs de TPU no MIG.
INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
- ZONE: a zona em que você quer provisionar o MIG.
- WORKLOAD_POLICY_URL: o URL da política de carga de trabalho
que você quer usar para criar instâncias no MIG. Por exemplo:
projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
Criar um MIG regional
gcloud compute instance-groups managed create MIG_NAME \
--size=SIZE \
--target-size-policy-mode=bulk \
--default-action-on-vm-failure=do-nothing \
--template=INSTANCE_TEMPLATE_URL \
--zone=ZONE \
--target-distribution-shape=any-single-zone \
--instance-redistribution-type=none \
--workload-policy=WORKLOAD_POLICY_URL
Substitua os seguintes marcadores de posição:
- MIG_NAME: o nome do MIG.
- SIZE: o número de VMs de TPU no MIG.
INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
- ZONE: a zona em que você quer provisionar o MIG.
- WORKLOAD_POLICY_URL: o URL da política de carga de trabalho
que você quer usar para criar instâncias no MIG. Por exemplo:
projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
Verificar o uso da reserva
Só é possível verificar o uso de uma reserva compartilhada no projeto do proprietário. Se você estiver em um projeto de consumidor, mude para o projeto do proprietário para verificar o uso da reserva.
Para saber quanto da reserva está em uso, utilize o comando
gcloud compute
reservations describe:
gcloud compute reservations describe RESERVATION_NAME \
--project=PROJECT_ID --zone=ZONE
Substitua as seguintes variáveis de marcador de posição:
- RESERVATION_NAME: o nome da reserva.
- PROJECT_ID: o ID do projeto que contém a reserva.
- ZONE: a zona em que a reserva existe.
Para listar todas as reservas em um projeto, use o comando gcloud compute reservations
list:
gcloud compute reservations list --project=PROJECT_ID
Substitua a seguinte variável de marcador de posição:
- PROJECT_ID: o ID do projeto.