Neste documento, descrevemos como criar um grupo gerenciado de instâncias (MIG) que usa um tipo de máquina A3 High ou A3 Mega otimizado para acelerador. Para saber mais sobre os tipos de máquinas, consulte A3 High e A3 Mega na documentação do Compute Engine.
Ao criar um MIG, é possível gerenciar várias máquinas virtuais (VMs) como uma única entidade. Cada VM em um MIG é baseada em um modelo de instância. Ao gerenciar automaticamente as VMs no grupo, os MIGs oferecem alta disponibilidade e escalonabilidade. Para saber mais sobre MIGs, consulte Grupos gerenciados de instâncias na documentação do Compute Engine.
Para saber mais sobre as opções de criação de VMs e clusters, consulte a página Visão geral da criação de VMs e clusters.
Limitações
Dependendo da série de máquinas usada pelas VMs no MIG, as seguintes limitações se aplicam:
A3 Mega
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A3 Mega.
- Só é possível usar um tipo de máquina A3 Mega em determinadas regiões e zonas.
- Não é possível usar um Persistent Disk regional em uma instância que usa um tipo de máquina A3 Mega.
- O tipo de máquina A3 Mega só está disponível na plataforma de CPU Sapphire Rapids.
- Não é possível mudar o tipo de máquina para o A3 Mega. Para mudar para ou desse tipo de máquina, crie uma nova instância.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A3 Mega.
A3 High
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A3 High.
- Só é possível usar um tipo de máquina A3 High em determinadas regiões e zonas.
- Não é possível usar Persistent Disk regional em uma instância que usa um tipo de máquina A3 High.
- O tipo de máquina A3 High só está disponível na plataforma de CPU Sapphire Rapids.
- Não é possível mudar o tipo de máquina A3 High. Para mudar para ou desse tipo de máquina, crie uma nova instância.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A3 High.
- Para os tipos de máquina
a3-highgpu-1g,a3-highgpu-2gea3-highgpu-4g, é necessário criar instâncias usando VMs do Spot ou VMs de início flexível. Para instruções detalhadas sobre essas opções, consulte o seguinte:- Para criar VMs do Spot, defina o modelo de provisionamento como
SPOTao criar uma VM otimizada para aceleradores. - Para criar VMs de início flexível, use um dos seguintes métodos:
- Crie uma VM independente e defina o modelo de provisionamento como
FLEX_STARTao criar uma VM otimizada para aceleradores. - Crie uma solicitação de redimensionamento em um grupo gerenciado de instâncias (MIG). Para instruções, consulte Criar um MIG com VMs de GPU.
- Crie uma VM independente e defina o modelo de provisionamento como
- Para criar VMs do Spot, defina o modelo de provisionamento como
- Só é possível usar uma VM confidencial com um tipo de máquina
a3-highgpu-1gem regiões e zonas limitadas. Além disso, todas as limitações para VMs confidenciais executadas no tipo de máquina A3 High se aplicam.
Antes de começar
Antes de criar um MIG, se ainda não tiver feito isso, conclua as etapas a seguir:
- Escolha uma opção de consumo: a opção escolhida determina como você recebe e usa os recursos de GPU.
Para saber mais, consulte Escolher uma opção de consumo.
- Obter capacidade: o processo para obter capacidade varia de acordo com cada opção de consumo.
Para saber mais sobre o processo de obtenção de capacidade para a opção de consumo escolhida, consulte Visão geral da capacidade.
Funções exigidas
Para receber as permissões
necessárias para criar um MIG,
peça ao administrador para conceder a você o
papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1)
no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para criar um MIG. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar um MIG:
-
Para criar um MIG:
compute.instanceGroupManagers.createno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Visão geral
A criação de um MIG com o tipo de máquina A3 Mega ou A3 High (8 GPUs) inclui as seguintes etapas:
- Criar redes VPC
- Opcional: criar uma política de carga de trabalho
- Criar um modelo de instância
- Criar um MIG
Criar redes VPC
Para ativar a comunicação eficiente das suas VMs de GPU, crie uma rede de gerenciamento e uma ou mais redes de dados. A rede de gerenciamento é usada para acesso externo, como SSH, e para a maioria das comunicações de rede gerais. As redes de dados são usadas para comunicação de alta performance entre as GPUs em diferentes VMs, por exemplo, para tráfego de acesso direto à memória remota (RDMA).
Para essas redes VPC, recomendamos definir a unidade máxima de transmissão (MTU) para um valor maior. Valores de MTU mais altos aumentam o tamanho do pacote e reduzem a sobrecarga do cabeçalho do pacote, o que aumenta a capacidade de dados do payload. Para mais informações sobre como criar redes VPC, consulte Criar e verificar uma rede MTU de frame jumbo.
Criar rede de gerenciamento, sub-rede e regra de firewall
Siga estas etapas para configurar a rede de gerenciamento:
Crie a rede de gerenciamento usando o comando
networks create:gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244Crie a sub-rede de gerenciamento usando o 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/24Crie regras de firewall usando o comando
firewall-rules create.Crie uma regra de firewall para a rede de gerenciamento.
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/16Crie a regra de firewall
tcp:22para limitar quais endereços IP de origem podem se conectar à sua VM usando 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_RANGECrie a regra de firewall
icmpque pode ser usada para verificar se há problemas de transmissão de dados na rede.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
Substitua:
NETWORK_NAME_PREFIX: o prefixo de nome a ser usado para as redes e sub-redes VPC.PROJECT_ID: o ID do projeto.REGION: a região em que você quer criar as redes.SSH_SOURCE_IP_RANGE: intervalo de IP no formato CIDR. Isso especifica quais endereços IP de origem podem se conectar à VM usando SSH.
Criar redes de dados, sub-redes e regra de firewall
O número de redes de dados varia de acordo com o tipo de máquina de GPU que você está criando.A3 Mega
O A3 Mega exige oito redes de dados. Para criar oito redes de dados, cada uma com sub-redes e regras de firewall, use o comando a seguir.
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
O A3 High exige quatro redes de dados. Use o comando a seguir para criar quatro redes de dados, cada uma com sub-redes e regras de 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
Opcional: criar uma política de carga de trabalho
Para a opção de consumo de início flexível, pule esta seção e prossiga para criar um modelo de instância. Devido a limitações, o modelo de provisionamento de início flexível não é compatível com políticas de carga de trabalho.É possível especificar o posicionamento da VM criando uma política de carga de trabalho. Se você já tiver uma política de
carga de trabalho, poderá reutilizá-la. Quando você aplica uma política de carga de trabalho a um MIG, o Compute Engine faz o possível para criar VMs que estejam o mais próximas possível umas das outras. Se o aplicativo
for sensível à latência e você quiser que as VMs fiquem mais próximas (compactação máxima), especifique
o campo maxTopologyDistance ao criar uma política de carga de trabalho.
Não é possível atualizar uma política de carga de trabalho depois de criá-la. Para fazer mudanças em uma política de carga de trabalho, crie uma nova.
Para criar uma política de carga de trabalho, selecione uma das seguintes opções:
gcloud
Para criar uma política de carga de trabalho, use o
comando gcloud compute resource-policies create workload-policy.
-
Para um posicionamento de melhor esforço das VMs, especifique apenas a flag
--type=high-throughputno comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
Para alocação conjunta estrita de VMs, especifique a flag
--max-topology-distanceno comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
Substitua:
WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.TOPOLOGY_DISTANCE: a distância máxima da topologia. Especifique um dos seguintes valores:- Para colocar VMs no mesmo cluster:
CLUSTER - Para colocar VMs no mesmo bloco:
BLOCK - Para colocar VMs no mesmo sub-bloco:
SUBBLOCK
Observação: uma distância máxima menor pode reduzir a probabilidade de disponibilidade da VM.- Para colocar VMs no mesmo cluster:
REGION: a região em que você quer criar a política de carga de trabalho. Especifique uma região em que você quer criar o MIG e o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
REST
Para criar uma política de carga de trabalho, faça uma solicitação POST
ao método resourcePolicies.insert.
-
Para um posicionamento de melhor esforço das VMs, especifique apenas o campo
typena solicitação da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
Para alocação conjunta estrita de VMs, especifique o campo
maxTopologyDistancena solicitação da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
Substitua:
PROJECT_ID: ID do projeto;REGION: a região em que você quer criar a política de carga de trabalho. Especifique uma região em que você quer criar o MIG e o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.TOPOLOGY_DISTANCE: a distância máxima da topologia. Especifique um dos seguintes valores:- Para colocar VMs no mesmo bloco:
BLOCK - Para colocar VMs no mesmo cluster:
CLUSTER
Observação: uma distância máxima menor pode reduzir a probabilidade de disponibilidade da VM.- Para colocar VMs no mesmo bloco:
Criar um modelo de instância
Especifique as propriedades da VM para um MIG criando um modelo de instância.
Para criar um modelo de instância, selecione uma das seguintes opções.
Os comandos a seguir também definem o escopo de acesso para suas instâncias. Para simplificar o gerenciamento de permissões, o Google recomenda definir o escopo de acesso de uma instância comocloud-platform e usar papéis do IAM para definir a quais serviços a instância pode acessar. Para mais informações, consulte
Práticas recomendadas de escopos.
A3 Mega
Para criar um modelo de instância para VMs A3 Mega, especifique oito interfaces de rede adicionais para o tráfego do GPUDirect-TCPXO. Se ainda não tiver feito isso, crie oito redes VPC conforme descrito em Criar redes VPC.
gcloud
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.RUN_DURATION: a duração da execução das VMs solicitadas. Formate o valor como o número de dias, horas, minutos ou segundos seguidos pord,h,mes, respectivamente. Por exemplo, especifique30mpara 30 minutos ou1d2h3m4spara 1 dia, 2 horas, 3 minutos e 4 segundos. O valor precisa estar entre 10 minutos e sete dias.
Vinculada à reserva
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.-
RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:Para criar instâncias em vários blocos ou em um único bloco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Além disso, para um único bloco, crie o MIG aplicando uma política de carga de trabalho que especifica uma colocação de bloco (
maxTopologyDistance=BLOCK) . Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.Para criar instâncias em um bloco específico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
REST
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.RUN_DURATION: a duração, em segundos, em que você quer que as VMs solicitadas sejam executadas. O valor precisa estar entre600, que representa 600 segundos (10 minutos), e604800, que é 604.800 segundos (sete dias).
Vinculada à reserva
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.-
RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:Para criar instâncias em vários blocos ou em um único bloco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Além disso, para um único bloco, crie o MIG aplicando uma política de carga de trabalho que especifica uma colocação de bloco (
maxTopologyDistance=BLOCK) . Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.Para criar instâncias em um bloco específico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
A3 High
Para criar um modelo de instância para VMs A3 High, especifique quatro interfaces de rede adicionais para o tráfego do GPUDirect-TCPX. Se ainda não tiver feito isso, crie quatro redes VPC conforme descrito em Criar redes VPC.
gcloud
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.RUN_DURATION: a duração da execução das VMs solicitadas. Formate o valor como o número de dias, horas, minutos ou segundos seguidos pord,h,mes, respectivamente. Por exemplo, especifique30mpara 30 minutos ou1d2h3m4spara 1 dia, 2 horas, 3 minutos e 4 segundos. O valor precisa estar entre 10 minutos e sete dias.
Vinculada à reserva
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.-
RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:Para criar instâncias em vários blocos ou em um único bloco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Além disso, para um único bloco, crie o MIG aplicando uma política de carga de trabalho que especifica uma colocação de bloco (
maxTopologyDistance=BLOCK) . Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.Para criar instâncias em um bloco específico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
Para criar um modelo de instância regional, use o
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
REST
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.RUN_DURATION: a duração, em segundos, em que você quer que as VMs solicitadas sejam executadas. O valor precisa estar entre600, que representa 600 segundos (10 minutos), e604800, que é 604.800 segundos (sete dias).
Vinculada à reserva
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.-
RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:Para criar instâncias em vários blocos ou em um único bloco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Além disso, para um único bloco, crie o MIG aplicando uma política de carga de trabalho que especifica uma colocação de bloco (
maxTopologyDistance=BLOCK) . Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.Para criar instâncias em um bloco específico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Spot
Para criar um modelo de instância regional, faça uma solicitação POST para o
método
regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Especifique um tipo de máquina A4 ou A3 Ultra. Para mais informações, consulte Tipos de máquinas com GPU.IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.IMAGE_PROJECT: o ID do projeto da imagem do SO.REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.DISK_SIZE: o tamanho do disco de inicialização em GB.NETWORK_PROJECT_ID: o ID do projeto da rede.GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.REGION: a região da sub-rede.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
Depois de criar o modelo de instância, você pode visualizá-lo para conferir o ID e as propriedades da instância.
Criar um MIG
Depois de concluir todas as etapas anteriores, crie um MIG com base no seu cenário da seguinte maneira:
| Cenário | Método para criar um MIG e VMs nele | Exemplo |
|---|---|---|
| Você tem vários jobs paralelos que podem começar com qualquer número de VMs. | Crie um MIG e use o tamanho de destino para especificar o número de VMs que você quer no grupo. Consulte Criar um MIG com tamanho de destino. |
Jobs de inferência de ML |
| Você tem um job que exige distribuição em um número exato de VMs. | Crie um MIG sem VMs e, em seguida, crie uma solicitação de redimensionamento no MIG.
A solicitação de redimensionamento ajuda a obter VMs de uma só vez. Consulte Criar um MIG e uma solicitação de redimensionamento. |
Jobs de treinamento e ajuste de ML distribuídos |
Criar um MIG com tamanho de destino
Se for possível iniciar o job sem criar todas as VMs de uma só vez, crie um MIG com um tamanho de destino. O tamanho de destino determina o número de VMs no MIG. O MIG começa a criar VMs com base na disponibilidade atual de recursos. Se algum recurso estiver temporariamente indisponível, o MIG tentará criar VMs continuamente para atingir o tamanho de destino.
Para criar um MIG com um tamanho de destino, selecione uma das seguintes opções:
gcloud
Para criar um MIG com um tamanho de destino especificado, use o
comando instance-groups managed
create.
Os comandos para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova a flag --workload-policy.
Crie um MIG zonal ou regional da seguinte maneira:
- Para criar um MIG zonal, use o seguinte comando:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- Para criar um MIG regional, use o seguinte comando:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION
MIG_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs 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:
TARGET_SIZE: o número de VMs que você quer no MIG.WORKLOAD_POLICY_URL: opcional, o URL da política de carga de trabalho. Por exemplo,projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se você não quiser usar uma política de carga de trabalho, remova a flag--workload-policy.ZONE: a zona em que você quer criar o MIG. Se você usar uma política de carga de trabalho, especifique uma zona na região da política.REGION: a região em que você quer criar a MIG. Se você usar uma política de carga de trabalho, especifique a mesma região da política. Para um MIG regional, em vez de uma região, é possível especificar as zonas dessa região usando a flag--zones.
REST
Para criar um MIG com um tamanho de destino especificado, faça uma solicitação POST.
As solicitações para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova o campo resourcePolicies.workloadPolicy.
Crie um MIG zonal ou regional da seguinte maneira:
- Para criar um MIG zonal, faça uma solicitação
POSTpara o métodoinstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Para criar um MIG regional, faça uma solicitação
POSTpara o métodoregionInstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
PROJECT_ID: o ID do projeto;ZONE: a zona em que você quer criar o MIG. Se você usar uma política de carga de trabalho, especifique uma zona na região da política.REGION: a região em que você quer criar o MIG. Se você usar uma política de carga de trabalho, especifique a mesma região da política.INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs 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:
MIG_NAME: o nome do MIG;TARGET_SIZE: o número de VMs que você quer no MIG.WORKLOAD_POLICY_URL: opcional, o URL da política de carga de trabalho. Por exemplo,projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se você não quiser usar uma política de carga de trabalho, remova o camporesourcePolicies.workloadPolicy.
Criar um MIG e uma solicitação de redimensionamento
Se você precisar de várias VMs de uma só vez para iniciar um job, crie um MIG e uma solicitação de redimensionamento no MIG, conforme descrito nesta seção.Para criar uma solicitação de redimensionamento em um MIG, selecione uma das seguintes opções.
gcloud
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
-
Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG zonal usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zone=ZONE -
Crie uma solicitação de redimensionamento no MIG zonal usando o comando
instance-groups managed resize-requests createda seguinte maneira:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG regional usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
Crie uma solicitação de redimensionamento no MIG regional usando o comando Beta
instance-groups managed resize-requests createda seguinte maneira:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
Vinculada à reserva
Os comandos para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova a flag --workload-policy.
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
-
Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG zonal usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
Crie uma solicitação de redimensionamento no MIG zonal usando o comando
instance-groups managed resize-requests createda seguinte maneira:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG regional usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
Crie uma solicitação de redimensionamento no MIG regional usando o comando Beta
instance-groups managed resize-requests createda seguinte maneira:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
Spot
Os comandos para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova a flag --workload-policy.
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
-
Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG zonal usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
Crie uma solicitação de redimensionamento no MIG zonal usando o comando
instance-groups managed resize-requests createda seguinte maneira:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
-
Crie um MIG regional usando o comando
instance-groups managed createda seguinte maneira.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
Crie uma solicitação de redimensionamento no MIG regional usando o comando Beta
instance-groups managed resize-requests createda seguinte maneira:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
MIG_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs 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:
WORKLOAD_POLICY_URL(opcional): o URL da política de carga de trabalho. Por exemplo,projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se você não quiser usar uma política de carga de trabalho, remova a flag--workload-policy.ZONE: a zona em que você quer criar o MIG. Para um MIG regional, também é necessário especificar uma zona. Essa zona precisa ser a que contém o perfil da sua rede VPC e precisa ser uma zona em que o tipo de máquina está disponível. Saiba mais em Limitações.RESIZE_REQUEST_NAME: o nome da solicitação de redimensionamento, que precisa ser exclusivo no MIG especificado. Caso contrário, a criação da solicitação de redimensionamento falha.COUNT: o número de VMs a serem adicionadas ao MIG de uma só vez.REGION: a região em que o MIG está localizado.
Se a carga de trabalho exigir nomes de VM específicos, especifique uma lista de nomes de VMs a serem
criadas usando o
comando beta instance-groups managed resize-requests create.
No comando, substitua a flag --resize-request pela
flag--instances.
REST
Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Início flexível
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
- Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagers.insertda seguinte maneira.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" } } - Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG zonal fazendo uma solicitação
- Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG regional fazendo uma solicitação
POSTpara o métodoregionInstanceGroupManagers.insertda seguinte maneira.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" } } - Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação
POSTpara o métodobeta.regionInstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG regional fazendo uma solicitação
Vinculada à reserva
As solicitações para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova o campo resourcePolicies.workloadPolicy.
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
- Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagers.insertda seguinte maneira.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG zonal fazendo uma solicitação
- Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG regional fazendo uma solicitação
POSTpara o métodoregionInstanceGroupManagers.insertda seguinte maneira.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação
POSTpara o métodobeta.regionInstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG regional fazendo uma solicitação
Spot
As solicitações para criar um MIG usam uma política de carga de trabalho para especificar o posicionamento da VM. Se você não quiser usar uma política de carga de trabalho, remova o campo resourcePolicies.workloadPolicy.
Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:
- Para criar um MIG zonal e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagers.insertda seguinte maneira.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação
POSTpara o métodoinstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG zonal fazendo uma solicitação
- Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
- Crie um MIG regional fazendo uma solicitação
POSTpara o métodoregionInstanceGroupManagers.insertda seguinte maneira.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação
POSTpara o métodobeta.regionInstanceGroupManagerResizeRequests.insertda seguinte maneira:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- Crie um MIG regional fazendo uma solicitação
PROJECT_ID: o ID do projeto;ZONE: a zona em que você quer criar o MIG. Para um MIG regional, também é necessário especificar uma zona. Essa zona precisa ser a que contém o perfil da sua rede VPC e precisa ser uma zona em que o tipo de máquina está disponível. Saiba mais em Limitações.REGION: a região em que você quer criar a MIG.INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs 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:
MIG_NAME: o nome do MIG;WORKLOAD_POLICY_URL(opcional): o URL da política de carga de trabalho. Por exemplo,projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Se você não quiser usar uma política de carga de trabalho, remova o camporesourcePolicies.workloadPolicy.RESIZE_REQUEST_NAME: o nome da solicitação de redimensionamento, que precisa ser exclusivo no MIG especificado. Caso contrário, a criação da solicitação de redimensionamento falha.COUNT: o número de VMs a serem adicionadas ao MIG de uma só vez.
Se a carga de trabalho exigir nomes de VM específicos, especifique uma lista de
nomes de VMs a serem criadas. Para isso, envie uma solicitação POST ao
método beta.regionInstanceGroupManagerResizeRequests.insert
para um MIG regional ou ao
método beta.instanceGroupManagerResizeRequests.insert
para um MIG zonal. No corpo da solicitação, substitua o campo resizeBy
pelo
campo instanceNames.
A seguir
- Verificar o consumo de reserva
- Ver a topologia de uma instância de computação
- Monitorar VMs
- Reportar um host com falha
- Ver, cancelar ou excluir solicitações de redimensionamento
- Resolver problemas de consumo de reserva