Neste documento, descrevemos como criar solicitações de redimensionamento em um grupo gerenciado de instâncias (MIG) de máquina virtual (VM) com GPUs anexadas.
Criar solicitações de redimensionamento em um MIG ajuda você a receber recursos com alta demanda, como GPUs, e otimizar custos ao criar o número exato de VMs de uma só vez.
Antes de começar
- Saiba como funcionam as solicitações de redimensionamento.
- Para garantir que haja cota de GPU suficiente para os recursos solicitados, verifique sua cota de GPU.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Para criar um modelo de instância:
compute.instanceTemplates.create
no projeto -
Para criar um MIG zonal:
compute.instanceGroupManagers.create
no projeto -
Para criar solicitações de redimensionamento em um MIG:
compute.instanceGroupManagers.update
no projeto Interrompa as VMs durante eventos de manutenção do host.
Não use reservas.
No Console do Google Cloud, acesse a página Modelos de instância.
Clique em Criar modelo de instância.
No campo Nome, insira um nome para o modelo de instância.
Na seção Local, selecione uma das seguintes opções:
Para criar um modelo de instância global, selecione Global, se ele ainda não estiver selecionado.
Para criar um modelo de instância regional, selecione Regional e escolha a região em que você quer criar o modelo de instância.
Na seção Configuração da máquina, faça o seguinte:
Clique na guia GPUs.
Na lista Tipo de GPU, selecione o tipo de GPU.
Na lista Número de GPUs, selecione o número de GPUs.
Opcional: se o modelo de GPU der suporte a estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos e você planeja executar cargas de trabalho com muitos gráficos, selecione Ativar estação de trabalho virtual (NVIDIA GRID).
Na lista Tipo de máquina, selecione um tipo de máquina.
Opcional: para alterar o valor padrão do tipo ou da imagem do disco de inicialização, na seção Disco de inicialização, clique em Alterar. Depois, siga as instruções para alterar o disco de inicialização.
Abra a seção Opções avançadas e faça o seguinte:
Expanda a seção Gerenciamento.
Na lista Reservas, selecione Não usar.
Clique em Criar.
A flag
--maintenance-policy
definida comoTERMINATE
.A flag
--reservation-affinity
definida comonone
.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância a ser criado.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.IMAGE_FAMILY
: uma família de imagens. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificardebian-12
, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.Se você quiser usar uma versão específica da imagem do SO, como
debian-12-buster-v20240701
, substitua a flag--image-family
pela flag--image
.REGION
: a região em que o modelo de instância será criado.MACHINE_TYPE
: um tipo de máquina que dá suporte a GPUs. Se você especificar um tipo de máquina N1, inclua a flag--accelerator
para especificar o número e o tipo de GPUs a serem anexadas às VMs.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert
Para criar um modelo de instância global: método
instanceTemplates.insert
Inclua o campo
scheduling.onHostMaintenance
e defina-o comoTERMINATE
.Inclua o campo
reservationAffinity.consumeReservationType
e defina-o comoNO_RESERVATION
.PROJECT_ID
: o ID do projeto em que o modelo de instância será criado.REGION
: a região em que o modelo de instância será criado.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância a ser criado.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.IMAGE
: especifique uma destas opções:Uma versão específica da imagem do SO. Por exemplo:
debian-12-bookworm-v20240617
Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY
. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
MACHINE_TYPE
: um tipo de máquina que dá suporte a GPUs. Se você especificar um tipo de máquina N1, inclua o campoguestAccelerators
no corpo da solicitação para especificar o número e o tipo de GPUs a serem anexadas às VMs.Defina o tipo de atualização do MIG como oportunista (padrão).
Se você tiver configurado o escalonamento automático no MIG, exclua a configuração de escalonamento automático.
Se você estiver usando um MIG regional, defina o formato de distribuição de destino como
ANY_SINGLE_ZONE
.No Console do Google Cloud, acesse a página Grupos de instâncias.
Clique em Criar grupo de instâncias.
A página Criar grupo de instâncias é aberta.
No campo Nome, insira um nome para o MIG.
Na lista Modelo de instância, selecione o modelo de instância que você criou na seção anterior. Se você selecionar um modelo de instância regional, a lista Região será definida como a região do modelo de instância.
Na seção Local, especifique se você quer criar um MIG regional ou por zona da seguinte maneira:
Para criar um MIG zonal, selecione Zona única. Ou, para criar um MIG regional, selecione Várias zonas.
Selecione a Região e as Zonas do MIG.
Se você estiver criando um MIG regional, faça o seguinte:
No campo Forma de distribuição de destino, selecione Qualquer zona única. Só é possível selecionar essa opção depois de excluir a configuração de escalonamento automático nas próximas etapas.
Depois de selecionar a opção de qualquer zona única, na caixa de diálogo que aparecer, clique em Desativar redistribuição de instâncias.
Exclua a configuração de escalonamento automático da seguinte maneira:
Na seção Escalonamento automático, clique na lista Modo de escalonamento automático e depois em Excluir configuração de escalonamento automático.
Na caixa de diálogo de confirmação, clique em Excluir.
Desative os reparos da seguinte maneira:
Na seção Ciclo de vida da instância de VM, clique na lista Ação padrão em caso de falha.
Selecione Nenhuma ação.
Escolha uma destas opções:
Para criar uma solicitação de redimensionamento nesse momento, faça o seguinte:
No campo Número de instâncias, insira o número de VMs que você quer criar de uma só vez.
Marque a caixa de seleção Usar solicitação de redimensionamento para criar VMs de uma só vez.
No campo Duração da execução solicitada e na lista Unidade, especifique a duração da execução das VMs. A duração precisa ser de 1 hora a 7 dias.
Caso contrário, no campo Número de instâncias, digite
0
. Mais tarde, será possível adicionar VMs ao grupo criando solicitações de redimensionamento.
Clique em Criar.
Para criar um MIG zonal, execute o seguinte comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_URL \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Para criar um MIG regional, execute o seguinte comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --default-action-on-vm-failure=do_nothing
INSTANCE_GROUP_NAME
: o nome do MIG que será criado.INSTANCE_TEMPLATE_URL
: o URL parcial do modelo de instância que você criou na seção anterior. Se você querer usar um modelo de instância regional para criar o MIG, só poderá criar o MIG na região do modelo. Especifique um destes valores:Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Para um modelo de instância global:
INSTANCE_TEMPLATE_NAME
ZONE
: a zona em que o MIG será criado.REGION
: a região em que o MIG será criado.Para criar um MIG por zona, envie uma solicitação
POST
usando o métodoinstanceGroupManagers.insert
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Para criar um MIG regional, envie uma solicitação
POST
usando o métodoregionInstanceGroupManagers.insert
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
PROJECT_ID
: o ID do projeto em que está o modelo de instância criado na seção anterior.INSTANCE_TEMPLATE_URL
: o URL parcial do modelo de instância que você criou na seção anterior. Se você querer usar um modelo de instância regional para criar o MIG, só poderá criar o MIG na região do modelo. Especifique um destes valores:Para um modelo de instância regional:
regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Para um modelo de instância global:
global/instanceTemplates/INSTANCE_TEMPLATE_NAME
ZONE
: a zona em que o MIG será criado.REGION
: a região em que o MIG será criado.INSTANCE_GROUP_NAME
: o nome do MIG que será criado.No Console do Google Cloud, acesse a página Grupos de instâncias.
Na coluna Nome, clique no nome do MIG em que você quer criar a solicitação de redimensionamento.
A página de visão geral do MIG será aberta.
Na linha Solicitações de redimensionamento, clique em
Editar solicitações de redimensionamento.Clique em
Nova solicitação de redimensionamento.O painel Novas solicitações de redimensionamento será exibido.
No campo Nome, digite o nome da solicitação de redimensionamento.
No campo Número de instâncias extras necessárias, insira o número de VMs a serem adicionadas ao MIG de uma só vez.
Nos campos Duração da execução solicitada e Unidade, especifique a duração das VMs solicitadas. A duração precisa ser entre 1 hora e 7 dias.
Clique em Criar.
Para criar uma solicitação de redimensionamento em um MIG zonal, use o comando
instance-groups managed resize-requests create
.gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --zone=ZONE
Para criar uma solicitação de redimensionamento em um MIG regional, use o comando
beta instance-groups managed resize-requests create
.gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --region=REGION
INSTANCE_GROUP_NAME
: o nome do MIG configurado para a criação de solicitações de redimensionamento.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.RUN_DURATION
: a duração da execução das VMs solicitadas. O valor precisa ser formatado com o número de dias, horas, minutos ou segundos, seguido pord
,h
,m
es
, respectivamente. Por exemplo, especifique30m
para 30 minutos ou1d2h3m4s
para um dia, duas horas, três minutos e quatro segundos. O valor precisa estar entre 10 minutos e sete dias.ZONE
: a zona em que o MIG está localizado.REGION
: a região em que o MIG está localizado.Para criar uma solicitação de redimensionamento em um MIG zonal, envie uma solicitação
POST
usando o métodoinstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
Para criar uma solicitação de redimensionamento em um MIG regional, envie uma solicitação
POST
usando o métodobeta.regionInstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
PROJECT_ID
: o ID do projeto em que o MIG especificado está.ZONE
: a zona em que o MIG está localizado.REGION
: a região em que o MIG está localizado.INSTANCE_GROUP_NAME
: o nome do MIG configurado para a criação de solicitações de redimensionamento.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 de uma só vez ao MIG.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).Saiba como visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG.
Saiba como visualizar informações sobre MIGs e VMs gerenciadas.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias a fim de criar solicitações de redimensionamento em um MIG, peça ao administrador para conceder a você o papel do IAm de Administrador da instância da computação (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 solicitações de redimensionamento em um MIG. Para conferir 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 solicitações de redimensionamento em um MIG:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Preparar um MIG para solicitações de redimensionamento
Para criar solicitações de redimensionamento em um MIG, configure um modelo de instância e o MIG conforme descrito nas seções a seguir.
Criar um modelo de instância
Se você quiser criar solicitações de redimensionamento em um MIG, ele precisará usar um modelo de instância com as seguintes configurações:
Para criar um modelo de instância configurado para a criação de solicitações de redimensionamento em um MIG, selecione uma das seguintes opções:
Console
gcloud
Para criar um modelo de instância configurado para a criação de solicitações de redimensionamento em um MIG, use o comando
instance-templates create
com as seguintes flags:Por exemplo, use o seguinte comando para criar um modelo de instância regional: Se você quiser criar um modelo de instância global, use o mesmo comando sem a flag
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Substitua:
REST
Para criar um modelo de instância configurado para a criação de solicitações de redimensionamento em um MIG, faça uma solicitação
POST
para um dos seguintes métodos:No corpo da solicitação, faça o seguinte:
Por exemplo, para criar um modelo de instância regional, faça uma solicitação
POST
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Substitua:
Para mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância.
Criar ou atualizar um MIG
Depois de criar o modelo de instância conforme descrito na seção anterior, use esse modelo para atualizar ou criar um MIG da seguinte maneira. Além disso, faça o seguinte a fim de prepará-lo para as solicitações de redimensionamento:
Para criar um MIG compatível com solicitações de redimensionamento, selecione uma das seguintes opções:
Console
gcloud
Use o comando
instance-groups managed create
com a flag--default-action-on-vm-failure
definida comodo_nothing
. Se você estiver criando um MIG regional, também precisará incluir a flag--target-distribution-shape
definida comoany-single-zone
e a flag--instance-redistribution-type
definida comonone
.Substitua:
REST
Substitua:
Criar uma solicitação de redimensionamento em um MIG
Antes de criar solicitações de redimensionamento, verifique se você preparou o MIG conforme descrito na seção anterior.
Depois que você cria uma solicitação de redimensionamento, ela é aceita e todos os recursos solicitados ficam disponíveis, o MIG cria o número solicitado de VMs de uma só vez. As VMs são executadas até que o MIG as exclua após o término da duração de execução especificada ou até que você as exclua.
Para criar uma solicitação de redimensionamento em um MIG, selecione uma das seguintes opções:
Console
gcloud
Substitua:
REST
No corpo da solicitação, inclua o seguinte:
{ "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
Substitua:
Depois de criar uma solicitação de redimensionamento, é possível conferir o status dela ou resolver problemas abrindo os detalhes da solicitação.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-