Este documento explica como criar um grande número de instâncias de máquinas virtuais (VMs) de computação de alto desempenho (HPC) em massa que são idênticas e independentes entre si. As instâncias usam tipos de máquinas H4D e são executadas em blocos de capacidade reservados.
Para mais informações sobre a criação de VMs em massa, consulte o artigo Acerca da criação em massa de VMs. Para criar instâncias em massa que não usam reservas para capacidades de gestão de clusters melhoradas, consulte o artigo Crie VMs em massa.
Para saber mais sobre outras formas de criar grandes clusters de VMs H4D fortemente acopladas, consulte a página Vista geral da criação de clusters de HPC.
Antes de começar
Escolha uma opção de consumo: para criar instâncias de computação em massa e ativar capacidades de gestão de clusters melhoradas, pode escolher uma reserva futura no modo de calendário ou VMs de opção.
Se optar por usar VMs do Spot, as VMs podem não estar localizadas de forma compacta. Além disso, as VMs de capacidade instantânea podem ser anuladas conforme necessário e não são elegíveis para gerir eventos de manutenção do anfitrião para grupos de VMs.
Obter capacidade: o processo para obter capacidade difere para cada opção de consumo.
Para saber mais, consulte o artigo Escolha uma opção de consumo e obtenha capacidade.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações necessárias para criar VMs em massa, peça ao seu administrador que lhe conceda as seguintes funções da IAM no projeto:
-
Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1) -
Administrador de rede de Calcular (
roles/compute.networkAdmin)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para criar VMs em massa. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para criar VMs em massa:
-
compute.instances.createno projeto -
Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem -
Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnlyno instantâneo -
Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância -
Para especificar uma sub-rede para a sua VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida -
Para especificar um endereço IP estático para a VM:
compute.addresses.useno projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida -
Para atribuir uma rede antiga à VM:
compute.networks.useno projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIpno projeto -
Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadatano projeto -
Para definir etiquetas para a VM:
compute.instances.setTagsna VM -
Para definir etiquetas para a VM:
compute.instances.setLabelsna VM -
Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM -
Para criar um novo disco para a VM:
compute.disks.createno projeto -
Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.useno disco -
Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnlyno disco
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Vista geral
A criação de instâncias de HPC em massa com o tipo de máquina H4D inclui os seguintes passos:
- Opcional: crie redes de nuvem privada virtual.
- Opcional: crie uma política de posicionamento se não estiver a criar as instâncias de computação no mesmo bloco ou sub-bloco.
- Crie instâncias H4D em massa.
Opcional: crie redes de nuvem privada virtual
Quando cria uma instância de computação, pode especificar uma rede de VPC e uma sub-rede. Se omitir esta configuração, são usadas a rede e a sub-rede predefinidas.
- Se quiser configurar as instâncias H4D no MIG para usar o Cloud RDMA, conclua os passos nesta secção.
- Se não quiser usar o RDMA na nuvem, pode ignorar esta secção e usar a rede predefinida
Para usar o RDMA na nuvem com instâncias H4D, tem de ter, pelo menos, duas redes configuradas, uma para cada tipo de interface de rede (NIC):
- Tipo de NIC
GVNIC: usa o controladorgvepara TCP/IP e tráfego da Internet para comunicação normal entre VMs e entre VMs e a Internet. - Tipo de NIC
IRDMA: usa controladores IDPF/iRDMA para rede RDMA na nuvem entre instâncias.
As instâncias que usam o RDMA na nuvem só podem ter uma interface
IRDMA. Pode adicionar até oito interfaces de redeGVNICadicionais para um total de 10 vNICs por instância.Para configurar as redes VPC do Falcon para usar com as suas instâncias, pode seguir as instruções documentadas ou usar o script fornecido.
Guias de instruções
Para criar as redes, pode usar as seguintes instruções:
Para criar as redes anfitriãs para as
GVNICinterfaces de rede, consulte o artigo Crie e faça a gestão de redes VPC.Se estiver a configurar apenas uma interface de rede
GVNIC, pode usar a rede VPC predefinida e a sub-rede automática que se encontra na mesma região que a instância.Para criar uma rede para a interface de rede
IRDMA, consulte o artigo Crie uma rede VPC com um perfil de rede VPC do Falcon. Use o valor predefinido para a unidade de transmissão máxima (MTU) de uma rede VPC do Falcon, que é8896.
Script
Pode criar até nove interfaces de rede gVNIC e uma interface de rede IRDMA por instância. Cada interface de rede tem de ser anexada a uma rede separada. Para criar as redes, pode usar o seguinte script, que cria duas redes para gVNIC e uma rede para IRDMA.
- Opcional: antes de executar o script, liste os perfis de rede VPC do Falcon para
verificar se existe um disponível.
gcloud compute network-profiles list
Copie o seguinte código e execute-o numa janela de shell do Linux.
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet rangesSubstitua o seguinte:
NUMBER_OF_GVNIC: o número de interfaces GVNIC a criar. Especifique um número de 1 a 9.GVNIC_NAME_PREFIX: o prefixo do nome a usar para a rede VPC normal e a sub-rede que usa um tipo de NIC GVNIC.REGION: a região onde quer criar as redes. Tem de corresponder à zona especificada para a flag--network-profilequando cria a rede da VPC do Falcon. Por exemplo, se especificar a zona comoeurope-west4-b, a sua região éeurope-west4.IP_RANGE: o intervalo de endereços IP fora da rede VPC a usar para as regras de firewall SSH. Como prática recomendada, especifique os intervalos de endereços IP específicos a partir dos quais precisa de permitir o acesso, em vez de todas as origens IPv4 ou IPv6. Não use0.0.0.0/0nem::/0como um intervalo de origem, porque isso permite tráfego de todas as origens IPv4 ou IPv6, incluindo origens fora de Google Cloud.RDMA_NAME_PREFIX: o prefixo do nome a usar para a rede VPC e a sub-rede que usa o tipo de NIC IRDMA.ZONE: a zona onde quer criar as redes e as instâncias de computação. Useus-central1-aoueurope-west4-b.
Opcional: para verificar se os recursos da rede VPC foram criados com êxito, verifique as definições de rede na Google Cloud consola:
- Na Google Cloud consola, aceda à página Redes VPC.
- Pesquise na lista as redes que criou no passo anterior.
- Para ver as sub-redes, as regras da firewall e outras definições de rede, clique no nome da rede.
Opcional: crie uma política de posicionamento
Pode especificar o posicionamento de VMs criando uma política de posicionamento compacta. Quando aplica uma política de posicionamento compacta às suas VMs, o Compute Engine faz tentativas de melhor esforço para criar VMs o mais próximas possível umas das outras. Se a sua aplicação for sensível à latência e quiser que as VMs estejam mais próximas (máxima compactação), especifique o campo
Para criar uma política de posicionamento compacta, selecione uma das seguintes opções:maxDistance(pré-visualização) quando criar uma política de posicionamento compacta. Um valormaxDistancemais baixo garante um posicionamento mais próximo das VMs, mas também aumenta a probabilidade de não serem criadas algumas VMs.gcloud
Para criar uma política de posicionamento compacta, 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=REGIONSubstitua o seguinte:
POLICY_NAME: o nome da política de posicionamento compacta.MAX_DISTANCE: a configuração de distância máxima para as suas VMs. O valor tem de ser3para colocar VMs nos blocos adjacentes ou2para colocar VMs no mesmo bloco. Para obter informações sobre o número máximo de VMs suportadas para cadamaxDistancepor série de máquinas, consulte Acerca das políticas de posicionamento compactas na documentação do Compute Engine.REGION: a região onde quer criar a política de posicionamento compacta. Especifique uma região na qual o tipo de máquina que quer usar esteja disponível. Para informações acerca das regiões, consulte Regiões e zonas disponíveis.
REST
Para criar uma política de posicionamento compacta, faça um pedido
POSTao método beta.resourcePolicies.insertNo corpo do pedido, inclua o campocollocationdefinido comoCOLLOCATEDe o campomaxDistance.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }Substitua o seguinte:
PROJECT_ID: o ID do seu projetoPOLICY_NAME: o nome da política de posicionamento compacta.MAX_DISTANCE: a configuração de distância máxima para as suas VMs. O valor tem de ser3para colocar VMs nos blocos adjacentes ou2para colocar VMs no mesmo bloco. Para obter informações sobre o número máximo de VMs suportadas para cadamaxDistancepor série de máquinas, consulte Acerca das políticas de posicionamento compactas na documentação do Compute Engine.REGION: a região onde quer criar a política de posicionamento compacta. Especifique uma região na qual o tipo de máquina que quer usar esteja disponível. Para informações acerca das regiões, consulte Regiões e zonas disponíveis.
Crie instâncias de VM em massa
As instruções nesta secção descrevem como criar VMs H4D em massa.
Reveja as seguintes limitações antes de criar instâncias H4D com o RDMA na nuvem:
- Não pode usar a migração em direto durante eventos de manutenção do anfitrião com instâncias que tenham uma interface de rede RDMA na nuvem. Tem de configurar a instância para terminar durante eventos de manutenção.
- A interface de rede gVNIC só pode ter um endereço IPv6, interno ou externo, mas não ambos.
Só pode usar endereços IPv4 com interfaces de rede IRDMA e redes VPC Falcon.
gcloud
Para criar VMs em massa, use o comando
gcloud compute instances create.Os parâmetros que tem de especificar dependem da opção de consumo que está a usar para esta implementação. Selecione o separador que corresponde ao modelo de aprovisionamento da opção de consumo.
Restrito a reserva
Comece com o seguinte comando
gcloud compute instances create.gcloud compute instances bulk create \ --name-pattern=NAME_PATTERN \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image=project= IMAGE_PROJECT \ --instance-termination=action=DELETE \ --maintenance-policy=TERMINATE \ --region=REGION \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZEConclua os seguintes passos:
Substitua o seguinte:
NAME_PATTERN: o padrão de nome para as instâncias. Por exemplo, usarvm-#para o padrão de nome gera instâncias com nomes comovm-1evm-2, até ao número especificado pela flag--count.COUNT: o número de instâncias a criar.MACHINE_TYPE: o tipo de máquina a usar para as instâncias. Use um dos tipos de máquinas H4D, por exemplo,h4d-highmem-192-lssd.IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar, por exemplo,rocky-linux-9-optimized-gcp.Para ver uma lista das imagens de SO suportadas, consulte a secção Sistema operativo suportado. Escolha uma versão da imagem do SO que suporte a interface IRDMA.
IMAGE_PROJECT: o ID do projeto da imagem do SO, por exemplo,rocky-linux-cloud.REGION: especifique uma região na qual o tipo de máquina que quer usar está disponível, por exemplo,europe-west4. Para informações sobre as regiões disponíveis, consulte Regiões e zonas disponíveis.DISK_SIZE: Opcional: o tamanho do disco de arranque em GiB. O valor tem de ser um número inteiro.
Opcional: se optou por usar uma política de posicionamento compacta, inclua a flag
--resource-policies:--resource-policies=POLICY_NAMESubstitua POLICY_NAME pelo nome da política de posicionamento compacto.
Para especificar a reserva, faça uma das seguintes ações:
-
Se estiver a usar uma política de posicionamento ou se as VMs puderem ser posicionadas em qualquer lugar no seu bloco de reserva, adicione as seguintes flags ao comando:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=RESERVATION_NAME \Substitua RESERVATION_NAME pelo nome da reserva, por exemplo,
h4d-highmem-exfr-prod. -
Se não estiver a usar uma política de posicionamento compacta e quiser as instâncias colocadas num bloco específico, adicione as seguintes flags ao comando:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=<RESERVATION_BLOCK_NAME \Substitua RESERVATION_BLOCK_NAME pelo nome de um bloco na reserva, por exemplo,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Para ver o nome da reserva ou os blocos de reserva disponíveis, consulte a secção Ver capacidade.
-
-
Opcional: para configurar as instâncias para usar o RDMA na nuvem, adicione as flags semelhantes às seguintes ao comando. Este exemplo configura duas interfaces de rede GVNIC e uma interface de rede IRDMA:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Substitua o seguinte:
GVNIC_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface GVNIC.Para a primeira interface de rede GVNIC, pode omitir as flags
networkesubnetpara usar a rededefault.STACK_TYPE: Opcional: o tipo de pilha para a interface de rede GVNIC.STACK_TYPEtem de ser um deIPV4_ONLYouIPV4_IPV6. O valor predefinido éIPV4_ONLY.EXTERNAL_IPV4_ADDRESS: Opcional: um endereço IPv4 externo estático a usar com a interface de rede. Tem de ter reservado um endereço IPv4 externo anteriormente. Realize um dos seguintes passos:- Especifique um endereço IPv4 válido da sub-rede.
- Use a flag
no-addressem alternativa se não quiser que a interface de rede tenha um endereço IP externo. - Especifique
address=''se quiser que a interface receba um endereço IP externo efémero.
Para especificar um endereço IPv6 externo, use a flag
--external-ipv6-addressem alternativa.RDMA_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface IRDMA.
- Opcional: adicione flags adicionais para personalizar as restantes propriedades da instância, conforme necessário.
- Execute o comando.
Espaço
Comece com o seguinte comando
gcloud compute instances create.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=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --provisioning-model=SPOT \ --instance-termination=action=TERMINATION_ACTIONConclua os seguintes passos:
Substitua o seguinte:
NAME_PATTERN: o padrão de nome para as instâncias. Por exemplo, usarvm-#para o padrão de nome gera instâncias com nomes comovm-1evm-2, até ao número especificado pela flag--count.COUNT: o número de instâncias a criar.MACHINE_TYPE: o tipo de máquina a usar para as instâncias. Use um dos tipos de máquinas H4D, por exemplo,h4d-highmem-192-lssd.IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar, por exemplo,rocky-linux-9-optimized-gcp.Para ver uma lista das imagens de SO suportadas, consulte a secção Sistema operativo suportado. Escolha uma versão da imagem do SO que suporte a interface IRDMA.
IMAGE_PROJECT: o ID do projeto da imagem do SO, por exemplo,rocky-linux-cloud.REGION: especifique uma região na qual o tipo de máquina que quer usar está disponível, por exemplo,europe-west4. Para informações sobre as regiões disponíveis, consulte Regiões e zonas disponíveis.DISK_SIZE: Opcional: o tamanho do disco de arranque em GiB. O valor tem de ser um número inteiro.TERMINATION_ACTION: a ação a tomar quando o Compute Engine antecipa a instância,STOP(predefinição) ouDELETE.
-
Opcional: se optou por usar uma política de posicionamento compacta, adicione a seguinte flag ao comando:
--resource-policies=POLICY_NAME \Substitua
POLICY_NAMEpelo nome da política de posicionamento compacto. -
Opcional: para configurar as instâncias para usar o RDMA na nuvem, adicione as flags semelhantes às seguintes ao comando. Este exemplo configura duas interfaces de rede GVNIC e uma interface de rede IRDMA:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Substitua o seguinte:
GVNIC_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface GVNIC.Para a primeira interface de rede GVNIC, pode omitir as flags
networkesubnetpara usar a rededefault.STACK_TYPE: Opcional: o tipo de pilha para a interface de rede GVNIC.STACK_TYPEtem de ser um deIPV4_ONLYouIPV4_IPV6. O valor predefinido éIPV4_ONLY.EXTERNAL_IPV4_ADDRESS: Opcional: um endereço IPv4 externo estático a usar com a interface de rede. Tem de ter reservado um endereço IPv4 externo anteriormente. Realize um dos seguintes passos:- Especifique um endereço IPv4 válido da sub-rede.
- Use a flag
no-addressem alternativa se não quiser que a interface de rede tenha um endereço IP externo. - Especifique
address=''se quiser que a interface receba um endereço IP externo efémero.
Para especificar um endereço IPv6 externo, use a flag
--external-ipv6-addressem alternativa.RDMA_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface IRDMA.
- Opcional: adicione flags adicionais para personalizar as restantes propriedades da instância, conforme necessário.
- Execute o comando.
REST
Para criar instâncias de VM em massa, faça um pedido
POSTao métodoinstances.bulkInsertOs parâmetros que tem de especificar dependem da opção de consumo que está a usar para esta implementação. Selecione o separador que corresponde ao modelo de aprovisionamento da opção de consumo.
Associado a reserva
Comece com o seguinte pedido
POSTpara o métodoinstances.bulkInsert.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":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "scheduling":{ "provisioningModel":"RESERVATION_BOUND", "instanceTerminationAction":"DELETE", "onHostMaintenance": "TERMINATE", "automaticRestart":true } } }Conclua os seguintes passos:
Substitua o seguinte:
PROJECT_ID: o ID do projeto do projeto onde quer criar as instâncias.ZONE: especifique uma zona na qual o tipo de máquina que quer usar está disponível. Se estiver a usar uma política de posicionamento compacta, use uma zona na mesma região que a política de posicionamento compacta. Para obter informações sobre as regiões onde os tipos de máquinas H4D estão disponíveis, consulte Regiões e zonas disponíveis.NAME_PATTERN: o padrão de nome para as instâncias. Por exemplo, usarvm-#para o padrão de nome gera instâncias com nomes comovm-1evm-2, até ao número especificado pelo campocount.COUNT: o número de instâncias a criar.MACHINE_TYPE: o tipo de máquina a usar para as instâncias. Use um dos tipos de máquinas H4D, por exemplo,h4d-highmem-192-lssd.DISK_SIZE: o tamanho do disco de arranque em GiB.IMAGE_PROJECT: o ID do projeto da imagem do SO, por exemplo,debian-cloud.IMAGE_FAMILY: a família de imagens do SO que quer usar, por exemplo,rocky-linux-9-optimized-gcp. Para ver uma lista das imagens do SO suportadas, consulte o artigo Sistema operativo suportado. Escolha uma versão da imagem do SO que suporte a interface IRDMA.
Opcional: se optou por usar uma política de posicionamento compacta, inclua o parâmetro
resourcePoliciesno corpo do pedido como parte do parâmetro"instanceProperties"."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],Substitua POLICY_NAME pelo nome da política de posicionamento compacto.
-
Para especificar a reserva, faça uma das seguintes ações:
-
Se estiver a usar uma política de posicionamento ou se for possível posicionar VMs em qualquer lugar no seu bloco de reserva, adicione o seguinte ao corpo do pedido como parte do parâmetro
"instanceProperties":"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_NAME" ], },Substitua RESERVATION_NAME pelo nome da reserva, por exemplo,
h4d-highmem-exfr-prod. -
Se não estiver a usar uma política de posicionamento compacta ou quiser as instâncias colocadas num bloco específico, adicione o seguinte ao corpo do pedido como parte do parâmetro
"instanceProperties":"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_BLOCK_NAME" ], },Substitua RESERVATION_BLOCK_NAME pelo nome de um bloco na reserva, por exemplo,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Para ver o nome da reserva ou os blocos de reserva disponíveis, consulte Ver capacidade.
-
Se quiser configurar as instâncias para usar o Cloud RDMA, inclua um bloco de parâmetros semelhante ao seguinte no corpo do pedido como parte do parâmetro
"instanceProperties". Este exemplo configura duas interfaces de rede GVNIC e uma interface de rede IRDMA:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Substitua o seguinte:
GVNIC_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface GVNIC.Para a interface de rede GVNIC, pode omitir os campos
networkesubnetworkpara usar a rededefault.EXTERNAL_IPV4_ADDRESS: Opcional: um endereço IPv4 externo estático a usar com a interface de rede. Tem de ter reservado um endereço IPv4 externo anteriormente.RDMA_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface IRDMA.
- Opcional: personalize as restantes propriedades da instância, conforme necessário.
- Envie o pedido.
Espaço
Comece com o seguinte pedido
POSTpara o métodoinstances.bulkInsert.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":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }Conclua os seguintes passos:
Substitua o seguinte:
PROJECT_ID: o ID do projeto do projeto onde quer criar as instâncias.ZONE: especifique uma zona na qual o tipo de máquina que quer usar está disponível. Se estiver a usar uma política de posicionamento compacta, use uma zona na mesma região que a política de posicionamento compacta. Para obter informações sobre as regiões onde os tipos de máquinas H4D estão disponíveis, consulte Regiões e zonas disponíveis.NAME_PATTERN: o padrão de nome para as instâncias. Por exemplo, usarvm-#para o padrão de nome gera instâncias com nomes comovm-1evm-2, até ao número especificado pelo campocount.COUNT: o número de instâncias a criar.MACHINE_TYPE: o tipo de máquina a usar para as instâncias. Use um dos tipos de máquinas H4D, por exemplo,h4d-highmem-192-lssd.DISK_SIZE: o tamanho do disco de arranque em GiB.IMAGE_PROJECT: o ID do projeto da imagem do SO, por exemplo,debian-cloud.IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar, por exemplo,rocky-linux-9-optimized-gcp. Para ver uma lista das imagens de SO suportadas, consulte o artigo Sistema operativo suportado. Escolha uma versão da imagem do SO que suporte a interface IRDMA.TERMINATION_ACTION: a ação a realizar quando o Compute Engine antecipa a instância,STOP(predefinição) ouDELETE.
Opcional: se optou por usar uma política de posicionamento compacta, inclua o parâmetro
resourcePoliciescomo parte do parâmetro"instanceProperties"."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Se quiser configurar as instâncias para usar o Cloud RDMA, inclua um bloco de parâmetros semelhante ao seguinte no corpo do pedido como parte do parâmetro
"instanceProperties". Este exemplo configura duas interfaces de rede GVNIC e uma interface de rede IRDMA:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Substitua o seguinte:
GVNIC_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface GVNIC.Para a interface de rede GVNIC, pode omitir os campos
networkesubnetworkpara usar a rededefault.EXTERNAL_IPV4_ADDRESS: Opcional: um endereço IPv4 externo estático a usar com a interface de rede. Tem de ter reservado um endereço IPv4 externo anteriormente.RDMA_NAME_PREFIX: o prefixo do nome que usou quando criou a rede VPC e a sub-rede para a interface IRDMA.
- Opcional: personalize as restantes propriedades da instância, conforme necessário.
- Envie o pedido.
O que se segue?
- Veja a topologia do cluster H4D.
- Estabeleça ligação a VMs do Linux.
- Configure e ajuste a escala das aplicações MPI em VMs H4D com o Cloud RDMA.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-12-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-04 UTC."],[],[]] -