Neste documento, explicamos como criar instâncias de máquina virtual (VM) em massa que usam tipos de máquina G2. Para saber mais sobre esses tipos de máquinas otimizadas para aceleradores, consulte a série G2.
Para mais informações sobre a criação de VMs em massa, consulte Sobre a criação em massa de VMs 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 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 uma versão do Container-Optimized OS que seja compatível com a versão mínima recomendada do driver NVIDIA ou
- 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.
Antes de começar
Antes de criar VMs em massa, siga estas etapas, caso ainda não tenha feito isso:
- 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.
- 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.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias para criar VMs em massa, 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 VMs em massa. 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 VMs em massa:
-
compute.instances.createno projeto -
Usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem -
Usar um snapshot para criar a VM:
compute.snapshots.useReadOnlyno snapshot -
Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância -
Especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida -
Especificar um endereço IP estático para a VM:
compute.addresses.useno projeto -
Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida -
Atribuir uma rede legada à VM:
compute.networks.useno projeto -
Atribuir um endereço IP externo à VM usando uma rede legada:
compute.networks.useExternalIpno projeto -
Definir os metadados da instância de VM para a VM:
compute.instances.setMetadatano projeto -
Definir tags para a VM:
compute.instances.setTagsna VM -
Definir rótulos para a VM:
compute.instances.setLabelsna VM -
Definir uma conta de serviço a ser usada pela VM:
compute.instances.setServiceAccountna VM -
Criar um disco para a VM:
compute.disks.createno projeto -
Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.useno disco -
Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnlyno disco
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Visão geral
A criação de instâncias em massa com o tipo de máquina G2 inclui as seguintes etapas:
- Opcional: criar uma política de posicionamento compacto
- Criar instâncias em massa
- Instalar os drivers da GPU
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.
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). 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. Por exemplo, uma distância máxima de3coloca as VMs em blocos adjacentes, e2coloca as VMs no mesmo bloco.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 campomaxDistance). 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. Por exemplo, uma distância máxima de3coloca as VMs em blocos adjacentes, e2coloca as VMs no mesmo bloco.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 VMs G2 em massa
Para criar VMs G2 em massa, use um dos seguintes métodos.
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 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.
gcloud
Para criar
instâncias em
massa, use o
comando gcloud compute instances bulk 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 instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--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:
-
Substitua:
NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use a mesma região da política. 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 paraRESERVATION_AFFINITY:- Se você especificou
any, substituaRESERVATIONpor uma string vazia (""). Como alternativa, remova a flag--reservationpor completo. Se você especificou
specific, substituaRESERVATIONpelo 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.
- Se você especificou
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
-
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.
-
Opcional: para anexar discos SSD locais, adicione a seguinte flag
--local-ssdpara 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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - 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 instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--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:
-
Substitua:
NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use a mesma região da política. 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.
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
-
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.
-
Opcional: para anexar discos SSD locais, adicione a seguinte flag
--local-ssdpara 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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - 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 instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--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:
-
Substitua:
NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use a mesma região da política. 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.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
-
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.
-
Opcional: para anexar discos SSD locais, adicione a seguinte flag
--local-ssdpara 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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - Execute o comando.
REST
Para criar
instâncias em
massa, faça uma solicitação POST para o
método
instances.bulkInsert.
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/zones/ZONE/instances/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"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:
-
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a instância G2.ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use uma zona na mesma região da política. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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.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.IMAGE_PROJECT: o ID do projeto da imagem do SO.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.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. Especifiquetruepara ativar a reinicialização automática (padrão) oufalsepara 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 paraRESERVATION_AFFINITY:- Se você especificou
ANY_RESERVATION, excluaRESERVATIONpara que o valor seja uma string vazia (""). Outra opção é remover os camposkeyevaluespor completo. Se você especificou
SPECIFIC_RESERVATION, substituaRESERVATIONpelo 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.
- Se você especificou
-
Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo
instancePropertiesao 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.
-
Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo
disks[]para cada disco SSD local. Separe cada subcampodisks[](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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - 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/zones/ZONE/instances/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"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:
-
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a instância G2.ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use uma zona na mesma região da política. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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.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.IMAGE_PROJECT: o ID do projeto da imagem do SO.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.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. Especifiquetruepara ativar a reinicialização automática (padrão) oufalsepara 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.
-
Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo
instancePropertiesao 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.
-
Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo
disks[]para cada disco SSD local. Separe cada subcampodisks[](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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - 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/zones/ZONE/instances/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"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:
-
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a instância G2.ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Se você quiser especificar uma política de posicionamento compacto, use uma zona na mesma região da política. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.NAME_PATTERN: o padrão de nome a ser usado para as instâncias G2. Por exemplo, usarinstance-#para o padrão de nome gera instâncias G2 com nomes comoinstance-1einstance-2, até o número de instâncias G2 especificado por--count.COUNT: o número de instâncias G2 a serem criadas.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.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.IMAGE_PROJECT: o ID do projeto da imagem do SO.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.TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância,STOP(padrão) ouDELETE.
-
Opcional: se você escolheu usar uma política de posicionamento compacta, adicione o seguinte subcampo
instancePropertiesao 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.
-
Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo
disks[]para cada disco SSD local. Separe cada subcampodisks[](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, especifiqueNVME. EspecifiqueSCSIpara outras imagens.
Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.
-
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_COUNTpelo número de GPUs virtuais que você quer. - Envie a solicitação.
Para mais informações sobre as opções de configuração ao criar VMs em massa, consulte Criar VMs em massa na documentação do Compute Engine.
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:
- Se você ativou a vWS, consulte Instalar drivers para estações de trabalho virtuais (vWS) NVIDIA RTX na documentação do Compute Engine.
Caso contrário, use os drivers de GPU padrão da seguinte forma:
- Se você especificou uma imagem do SO que inclui drivers de GPU, não é necessário fazer nada.
- Se a imagem do SO não incluir drivers de GPU, consulte Instalar drivers de GPU na documentação do Compute Engine.
A seguir
- Conferir os detalhes de uma VM
- Receber uma lista de VMs
- Verificar o consumo de reserva
- Resolver problemas de consumo de reserva