Criar um MIG G2 otimizado para IA

Neste documento, descrevemos como criar um grupo gerenciado de instâncias (MIG) que usa tipos de máquina G2. Para saber mais sobre esses tipos de máquinas otimizadas para aceleradores, consulte Série G2.

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 outras maneiras de criar VMs ou clusters, consulte Visão geral das opções de implantação.

Limitações

Ao criar um MIG com VMs G2, considere as limitações do tipo de máquina e do MIG.

Limitações das VMs G2

Ao criar VMs G2, as seguintes limitações se aplicam:

  • 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 G2.
  • Só é possível usar um tipo de máquina G2 em determinadas regiões e zonas.
  • Os tipos de máquina G2 só estão disponíveis na plataforma Cascade Lake.
  • O disco permanente padrão (pd-standard) não é compatível com instâncias que usam o tipo de máquina G2. Para saber quais são os tipos de disco compatíveis, consulte Tipos de disco compatíveis com a G2.
  • Não é possível criar GPUs de várias instâncias em uma instância que usa um tipo de máquina G2.
  • Se precisar mudar o tipo de máquina de uma instância G2, consulte Modificar instâncias otimizadas para aceleradores.
  • Não é possível usar o Deep Learning VM Images como discos de inicialização para instâncias que usam o tipo de máquina G2.
  • O driver padrão atual para o Container-Optimized OS não oferece suporte a GPUs L4 em execução nos tipos de máquina G2. Além disso, o Container-Optimized OS é compatível apenas com um conjunto selecionado de drivers. Se você quiser usar o Container-Optimized OS em tipos de máquina G2, leia as seguintes observações:
    • Use uma versão do Container-Optimized OS que seja compatível com a versão mínima recomendada do driver NVIDIA ou 525.60.13. Para mais informações, consulte as Notas de lançamento do Container-Optimized OS.
    • Ao instalar o driver, especifique a versão mais recente disponível que funciona para as GPUs L4. Por exemplo, sudo cos-extensions install gpu -- -version=525.60.13.
  • Use a Google Cloud CLI ou REST para criar instâncias G2 nos seguintes cenários:
    • Você quer especificar valores de memória personalizados.
    • Você quer personalizar o número de núcleos de CPU visíveis.

Limitações para o MIG

Antes de começar

Antes de criar um MIG, siga estas etapas:

  1. Escolha uma opção de consumo: sua escolha determina como você recebe e usa os recursos de GPU. Para saber mais, consulte Escolher uma opção de consumo.
  2. 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.create no 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 G2 inclui as seguintes etapas:

  1. Opcional: criar uma política de posicionamento compacto
  2. Criar um modelo de instância
  3. Criar um MIG
  4. Instalar os drivers da GPU

Para cada MIG, escolha se você quer usar uma política de posicionamento compacto, usar solicitações de redimensionamento ou nenhuma das opções. Para mais informações sobre quando usar cada opção, consulte Limitações do MIG neste documento.

Opcional: criar uma política de posicionamento compacto

É possível especificar o posicionamento de VMs criando uma política de posicionamento compacto. Quando você aplica uma política de posicionamento compacto às VMs, 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 exigir compactação máxima, especifique o campo maxDistance (Prévia) ao criar uma política de posicionamento compacto. Um valor menor de maxDistance garante um posicionamento mais próximo da VM, mas também aumenta a chance de algumas VMs não serem criadas.

Para criar uma política de posicionamento compacto, selecione uma das seguintes opções:

gcloud

Para criar uma política de posicionamento compacto, use o comando gcloud beta compute resource-policies create group-placement:

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

Substitua:

  • POLICY_NAME: o nome da política de posicionamento compacto.
  • MAX_DISTANCE: a configuração da distância máxima para suas VMs, que pode ser especificada (Pré-lançamento, recomendado) ou não especificada (remova a flag --max-distance). Com base no que seu tipo de máquina oferece suporte, é possível especificar um dos seguintes valores:
    • Para colocar VMs no mesmo sub-bloco: 1
    • Para colocar VMs no mesmo bloco: 2
    • Para colocar VMs em blocos adjacentes: 3
    Verifique se a configuração de distância máxima é compatível com a série de máquinas e o número de VMs que você planeja criar. Para mais informações, consulte Sobre as políticas de posicionamento compacto na documentação do Compute Engine.
  • REGION: a região em que você quer criar a política de posicionamento compacto. Especifique a região que contém a zona em que você planeja criar instâncias e verifique se o tipo de máquina que você quer usar está disponível nessa região. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.

REST

Para criar uma política de posicionamento compacto, faça uma solicitação POST para o método resourcePolicies.insert beta. No corpo da solicitação, inclua o campo collocation definido como COLLOCATED e o campo maxDistance.

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

Substitua:

  • PROJECT_ID: o ID do projeto.
  • POLICY_NAME: o nome da política de posicionamento compacto.
  • MAX_DISTANCE: a configuração da distância máxima para suas VMs, que pode ser especificada (prévia, recomendado) ou não especificada (remova o campo maxDistance). Com base no que seu tipo de máquina oferece suporte, é possível especificar um dos seguintes valores:
    • Para colocar VMs no mesmo sub-bloco: 1
    • Para colocar VMs no mesmo bloco: 2
    • Para colocar VMs em blocos adjacentes: 3
    Verifique se a configuração de distância máxima é compatível com a série de máquinas e o número de VMs que você planeja criar. Para mais informações, consulte Sobre as políticas de posicionamento compacto na documentação do Compute Engine.
  • REGION: a região em que você quer criar a política de posicionamento compacto. Especifique a região que contém a zona em que você planeja criar instâncias e verifique se o tipo de máquina que você quer usar está disponível nessa região. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.

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 das suas instâncias. Para simplificar o gerenciamento de permissões, o Google recomenda definir o escopo de acesso de uma instância como cloud-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.

gcloud

Para criar um modelo de instância regional, use o comando gcloud compute instance-templates create.

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 à sua opção de consumo.

Reserva

As instâncias G2 são compatíveis com os seguintes tipos de reservas:

  • Reservas imediatas
  • Reservas adiantadas padrão

Para consumir esses tipos de reservas, uma instância precisa usar o modelo de provisionamento padrão. Por exemplo, use os seguintes parâmetros de criação.

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • any (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa capacidade sob demanda.

      • specific (é necessário ter capacidade de reserva): exige que a instância use a capacidade de uma reserva segmentada especificamente. A instância não pode usar a capacidade on demand. Se a capacidade da reserva não estiver disponível, a criação da instância vai falhar.

    • RESERVATION: a reserva a ser usada. Especifique uma das seguintes opções com base no valor especificado para RESERVATION_AFFINITY:

      • Se você especificou any, substitua RESERVATION por uma string vazia (""). Como alternativa, remova a flag --reservation por completo.
      • Se você especificou specific, substitua RESERVATION pelo seguinte:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Substitua:

        • RESERVATION_OWNER_PROJECT_ID: o ID do projeto em que a reserva foi criada.
        • RESERVATION_NAME: o nome da reserva.
  2. Por padrão, a instância é reiniciada automaticamente se falhar ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Se você quiser desativar a reinicialização automática, adicione a seguinte flag:

    --no-restart-on-failure
  3. Opcional: se você escolheu usar uma política de posicionamento compacto, adicione a seguinte flag ao comando:

    --resource-policies=POLICY_NAME
    

    Substitua:

    • POLICY_NAME: o nome da política de posicionamento compacto.
  4. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  5. Execute o comando.

Sob demanda

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • any (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa capacidade sob demanda.

      • none (capacidade sob demanda obrigatória): impede que a instância use qualquer capacidade de reserva.

  2. Por padrão, a instância é reiniciada automaticamente se falhar ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Se você quiser desativar a reinicialização automática, adicione a seguinte flag:

    --no-restart-on-failure
  3. Opcional: se você escolheu usar uma política de posicionamento compacto, adicione a seguinte flag ao comando:

    --resource-policies=POLICY_NAME
    

    Substitua:

    • POLICY_NAME: o nome da política de posicionamento compacto.
  4. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  5. Execute o comando.

Início flexível

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

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

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • RUN_DURATION: a duração da execução das VMs solicitadas. Formate o valor como o número de dias, horas, minutos ou segundos, seguido por d, h, m e s, respectivamente. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para 1 dia, 2 horas, 3 minutos e 4 segundos. O valor precisa estar entre 10 minutos e sete dias.
  2. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Execute o comando.

Spot

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

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

Siga estas etapas:

  1. Substitua:

  2. Opcional: se você escolheu usar uma política de posicionamento compacto, adicione a seguinte flag ao comando:

    --resource-policies=POLICY_NAME
    

    Substitua:

    • POLICY_NAME: o nome da política de posicionamento compacto.
  3. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Opcional: para usar a NVIDIA RTX Virtual Workstation (vWS), adicione a seguinte flag.

    Quando você cria uma instância que usa a estação de trabalho virtual NVIDIA RTX, o Compute Engine adiciona automaticamente uma licença vWS. Para informações sobre preços de estações de trabalho virtuais, consulte a página de preços da GPU.

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

    Substitua VWS_ACCELERATOR_COUNT pelo número de GPUs virtuais que você quer.

  5. Execute o comando.

REST

Para criar um modelo de instância regional, faça uma solicitação POST para o método regionInstanceTemplates.insert.

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 à sua opção de consumo.

Reserva

As instâncias G2 são compatíveis com os seguintes tipos de reservas:

  • Reservas imediatas
  • Reservas adiantadas padrão

Para consumir esses tipos de reservas, uma instância precisa usar o modelo de provisionamento padrão. Por exemplo, use os seguintes parâmetros de criação.

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

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

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • AUTOMATIC_RESTART: se a instância for reiniciada automaticamente em caso de falha ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Especifique true para ativar a reinicialização automática (padrão) ou false para desativá-la.

    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • ANY_RESERVATION (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa a capacidade sob demanda.

      • SPECIFIC_RESERVATION (é necessário ter capacidade de reserva): exige que a instância use a capacidade de uma reserva segmentada especificamente. A instância não pode usar a capacidade on demand. Se a capacidade da reserva não estiver disponível, a criação da instância vai falhar.

    • RESERVATION: a reserva a ser usada. Especifique uma das seguintes opções com base no valor especificado para RESERVATION_AFFINITY:

      • Se você especificou ANY_RESERVATION, exclua RESERVATION para que o valor seja uma string vazia (""). Outra opção é remover os campos key e values por completo.
      • Se você especificou SPECIFIC_RESERVATION, substitua RESERVATION pelo seguinte:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Substitua:

        • RESERVATION_OWNER_PROJECT_ID: o ID do projeto em que a reserva foi criada.
        • RESERVATION_NAME: o nome da reserva.
  2. Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo instanceProperties ao corpo da solicitação:

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

    Substitua:

    • PROJECT_ID: o ID do projeto da política de posicionamento compacto.
    • REGION: a região da política de posicionamento compacto.
    • POLICY_NAME: o nome da política de posicionamento compacto.
  3. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

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

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Opcional: para usar a NVIDIA RTX Virtual Workstation (vWS), adicione o campo a seguir.

    Quando você cria uma instância que usa a estação de trabalho virtual NVIDIA RTX, o Compute Engine adiciona automaticamente uma licença vWS. Para informações sobre preços de estações de trabalho virtuais, consulte a página de preços da GPU.

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

    Substitua VWS_ACCELERATOR_COUNT pelo número de GPUs virtuais que você quer.

  5. Envie a solicitação.

Sob demanda

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

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

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • AUTOMATIC_RESTART: se a instância for reiniciada automaticamente em caso de falha ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Especifique true para ativar a reinicialização automática (padrão) ou false para desativá-la.

    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • ANY_RESERVATION (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa a capacidade sob demanda.

      • NO_RESERVATION (capacidade sob demanda obrigatória): impede que a instância use qualquer capacidade de reserva.

  2. Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo instanceProperties ao corpo da solicitação:

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

    Substitua:

    • PROJECT_ID: o ID do projeto da política de posicionamento compacto.
    • REGION: a região da política de posicionamento compacto.
    • POLICY_NAME: o nome da política de posicionamento compacto.
  3. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

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

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Opcional: para usar a NVIDIA RTX Virtual Workstation (vWS), adicione o campo a seguir.

    Quando você cria uma instância que usa a estação de trabalho virtual NVIDIA RTX, o Compute Engine adiciona automaticamente uma licença vWS. Para informações sobre preços de estações de trabalho virtuais, consulte a página de preços da GPU.

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

    Substitua VWS_ACCELERATOR_COUNT pelo número de GPUs virtuais que você quer.

  5. Envie a solicitação.

Início flexível

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

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

  }
}

Siga estas etapas:

  1. Substitua:

    • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância G2. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os 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. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • RUN_DURATION: a duração, em segundos, em que você quer que as VMs solicitadas sejam executadas. O valor precisa estar entre 600, que representa 600 segundos (10 minutos), e 604800, que é 604.800 segundos (sete dias).
  2. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

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

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Envie a solicitação.

Spot

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

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

Siga estas etapas:

  1. Substitua:

  2. Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo instanceProperties ao corpo da solicitação:

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

    Substitua:

    • PROJECT_ID: o ID do projeto da política de posicionamento compacto.
    • REGION: a região da política de posicionamento compacto.
    • POLICY_NAME: o nome da política de posicionamento compacto.
  3. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

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

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Opcional: para usar a NVIDIA RTX Virtual Workstation (vWS), adicione o campo a seguir.

    Quando você cria uma instância que usa a estação de trabalho virtual NVIDIA RTX, o Compute Engine adiciona automaticamente uma licença vWS. Para informações sobre preços de estações de trabalho virtuais, consulte a página de preços da GPU.

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

    Substitua VWS_ACCELERATOR_COUNT pelo número de GPUs virtuais que você quer.

  5. Envie a solicitação.

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 um 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 um 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á continuamente criar VMs para atender ao 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.

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 \
      --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 \
        --region=REGION
    
Substitua:
  • MIG_NAME: o nome do 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
  • TARGET_SIZE: o número de instâncias que você quer no MIG.
  • ZONE: a zona em que você quer criar o MIG.
  • REGION: a região em que você quer criar a MIG. Para um MIG regional, em vez de uma região, especifique as zonas nessa região usando a flag --zones.

REST

Para criar um MIG com um tamanho de destino especificado, faça uma solicitação POST.

Crie um MIG zonal ou regional da seguinte maneira:

  • Para criar um MIG zonal, faça uma solicitação POST para o método instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE
    }
    
  • Para criar um MIG regional, faça uma solicitação POST para o método regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE
      }
    
Substitua:
  • PROJECT_ID: o ID do projeto;
  • ZONE: a zona em que você quer criar o MIG.
  • REGION: a região em que você quer criar o 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
  • MIG_NAME: o nome do MIG;
  • TARGET_SIZE: o número de instâncias que você quer no MIG.

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 faça um pedido 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.

Reserva

Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:

Sob demanda

Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:

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:

    1. Crie um MIG zonal usando o comando instance-groups managed create da 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
      
    2. Crie uma solicitação de redimensionamento no MIG zonal usando o comando instance-groups managed resize-requests create da seguinte maneira. Esse comando especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.

      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:

    1. Crie um MIG regional usando o comando instance-groups managed create da seguinte maneira.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crie uma solicitação de redimensionamento no MIG regional usando o comando instance-groups managed resize-requests create da seguinte maneira. Esse comando especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.

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

Spot

Crie um MIG zonal ou regional e uma solicitação de redimensionamento da seguinte maneira:

Substitua:
  • MIG_NAME: o nome do 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
  • 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 instâncias a serem adicionadas ao MIG de uma só vez.
  • REGION: a região em que você quer criar o MIG.

Crie uma solicitação de redimensionamento especificando uma lista de nomes de VM

Se a carga de trabalho exigir nomes de VM específicos, especifique uma lista de nomes para criar as VMs. O número de nomes especificados determina o número de VMs que o MIG cria de uma só vez.

Para criar uma solicitação de redimensionamento com nomes de VM específicos em um MIG, use o comando Beta gcloud compute instance-groups managed resize-requests create com a flag --instances:

  • Em um MIG zonal, execute o seguinte comando:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --zone=ZONE
    
  • Em um MIG regional, execute o seguinte comando:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --region=REGION
    
Substitua INSTANCE_NAMES por uma lista separada por vírgulas de nomes para as VMs. Por exemplo, instance-1,instance-2,instance-3.

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.

Reserva

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:
    1. Crie um MIG zonal fazendo uma solicitação POST para o método instanceGroupManagers.insert da 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
      }
      
    2. Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação POST para o método instanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
    1. Crie um MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagers.insert da 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"
        }
      }
      
    2. Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Sob demanda

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:
    1. Crie um MIG zonal fazendo uma solicitação POST para o método instanceGroupManagers.insert da 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
      }
      
    2. Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação POST para o método instanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
    1. Crie um MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagers.insert da 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"
        }
      }
      
    2. Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

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:
    1. Crie um MIG zonal fazendo uma solicitação POST para o método instanceGroupManagers.insert da 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"
        }
      }
      
    2. Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação POST para o método instanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
    1. Crie um MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagers.insert da 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"
        }
      }
      
    2. Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

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:
    1. Crie um MIG zonal fazendo uma solicitação POST para o método instanceGroupManagers.insert da 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
      }
      
    2. Crie uma solicitação de redimensionamento no MIG zonal fazendo uma solicitação POST para o método instanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para criar um MIG regional e uma solicitação de redimensionamento nele, faça o seguinte:
    1. Crie um MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagers.insert da 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"
        }
      }
      
    2. Crie uma solicitação de redimensionamento no MIG regional fazendo uma solicitação POST para o método regionInstanceGroupManagerResizeRequests.insert da seguinte maneira. Essa solicitação especifica o número de VMs que você quer criar. Se a carga de trabalho exigir nomes de VM específicos, crie uma solicitação de redimensionamento especificando uma lista de nomes de VM.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Substitua:
  • PROJECT_ID: o ID do projeto;
  • ZONE: a zona em que você quer criar o MIG. Essa zona precisa ser a mesma que contém o perfil da sua rede VPC e precisa ser uma zona em que o tipo de máquina escolhido está disponível. Saiba mais em Limitações.
  • REGION: a região em que você quer criar o MIG. Essa região precisa ser a mesma que contém o perfil da sua rede VPC e uma zona em que o tipo de máquina escolhido está disponível. Saiba mais em Limitações.
  • 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
  • MIG_NAME: o nome do MIG;
  • 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 instâncias a serem adicionadas ao MIG de uma só vez

Crie uma solicitação de redimensionamento especificando uma lista de nomes de VM

Se a carga de trabalho exigir nomes de VM específicos, especifique uma lista de nomes para criar as VMs. O número de nomes especificados determina o número de VMs que o MIG cria de uma só vez.

Para criar uma solicitação de redimensionamento com nomes de VM específicos em um MIG, use um dos seguintes métodos:

Por exemplo, para especificar dois nomes de VM, inclua o seguinte no corpo da solicitação:

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

Substitua INSTANCE_NAME_1, INSTANCE_NAME_2 pelos nomes das VMs.

Instalar os drivers da GPU

Depois de criar uma instância, ela não poderá usar as GPUs, a menos que os drivers corretos já estejam instalados. O driver que você precisa instalar depende de a instância ter ativado a estação de trabalho virtual NVIDIA RTX (vWS). Use uma das seguintes opções:

A seguir