Configurar a rede Tier 1 para uma VM

Neste documento, descrevemos como configurar o desempenho de rede de nível 1 para determinadas instâncias de máquina virtual (VM) no Google Distributed Cloud (GDC) isolado. As VMs com configurações de rede Tier 1 são especialmente úteis para cargas de trabalho de computação grandes e distribuídas com muita comunicação pesada entre nós, como computação de alto desempenho (HPC), machine learning (ML) e aprendizado profundo (DL).

Antes de começar

Para usar os comandos da interface de linha de comando (CLI) gdcloud, verifique se você baixou, instalou e configurou a CLI gdcloud. Todos os comandos do Distributed Cloud usam a CLI gdcloud ou kubectl e exigem um ambiente de sistema operacional (SO).

Extrair o caminho do arquivo kubeconfig

Para executar comandos no servidor da API Management, verifique se você tem os seguintes recursos:

  1. Faça login e gere o arquivo kubeconfig para o servidor da API Management se você não tiver um.

  2. Use o caminho para o arquivo kubeconfig do servidor da API Management para substituir MANAGEMENT_API_SERVER nestas instruções.

Solicitar permissões e acesso

Para executar as tarefas listadas nesta página, você precisa ter o papel de administrador de máquina virtual do projeto. Siga as etapas para verificar se você tem o papel de administrador de máquina virtual do projeto (project-vm-admin) no namespace do projeto em que a VM reside.

Para operações de VM usando o console do GDC ou a CLI gdcloud, peça ao administrador do IAM do projeto para atribuir a você o papel de administrador de máquina virtual do projeto e o papel de leitor do projeto (project-viewer).

Limitações

A rede Tier 1 é compatível com os tipos de máquina N2, N3, N4, A2 e A3 que têm pelo menos 4 vCPUs.

Níveis de largura de banda

O limite de largura de banda de entrada e saída representa a quantidade máxima possível de dados por unidade de tempo, como gigabits por segundo (Gbps), que o GDC permite que uma instância de VM transmita ou receba das interfaces de rede (NICs). A largura de banda inclui dados transferidos entre instâncias de VM e armazenamento de objetos.

O GDC tem os seguintes limites de largura de banda:

  • O limite de largura de banda padrão é de 10 Gbps.
  • A rede Tier 1 aumenta o limite máximo de largura de banda de saída para instâncias de computação. O limite máximo de largura de banda de saída varia de 16 Gbps a 25 Gbps, dependendo do tamanho e do tipo de máquina da instância.
  • A largura de banda de saída real é sempre menor ou igual ao limite de largura de banda de saída.

Para atingir a maior largura de banda de saída possível, todas as condições a seguir precisam ser verdadeiras:

  • As instâncias de computação de envio e recebimento precisam estar na mesma zona.
  • Os pacotes enviados entre as instâncias precisam usar destinos de endereços IP internos.
  • O número de fluxos TCP precisa estar entre 4 e 128.
  • As instâncias de envio precisam ter a descarga de segmentação TCP (TSO, na sigla em inglês) ativada, e as instâncias de recebimento precisam ter a descarga de recebimento genérica (GRO, na sigla em inglês) ativada.

VMs N2 e N3

vCPUs IP interno IP interno de nível 1
2 10 Gbps Não relevante
4 10 Gbps Não relevante
8 10 Gbps 16 Gbps
12 10 Gbps 25 Gbps
16 10 Gbps 25 Gbps
32 10 Gbps 25 Gbps
64 10 Gbps 25 Gbps

VMs N4

vCPUs IP interno IP interno de nível 1
4 10 Gbps Não relevante
8 10 Gbps Não relevante
16 10 Gbps 25 Gbps
32 10 Gbps 25 Gbps
48 10 Gbps 25 Gbps
64 10 Gbps 25 Gbps
80 10 Gbps 25 Gbps
160 10 Gbps 25 Gbps

VMs A2

vCPUs IP interno IP interno de nível 1
12 10 Gbps 18 Gbps
24 10 Gbps 25 Gbps

VMs A3

vCPUs IP interno IP interno de nível 1
28 10 Gbps 25 Gbps
56 10 Gbps 25 Gbps
112 10 Gbps 25 Gbps

Configurar uma VM com rede Tier 1

Crie instâncias e contêineres que usam rede de nível 1:

gdcloud

gdcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
    --boot-disk-size=BOOT_DISK_SIZE \
    --network-performance-tier=tier_1

Substitua:

VariávelDefinição
VM_NAME O nome da nova VM. O nome precisa conter apenas caracteres alfanuméricos e traços e não pode ter mais de 53 caracteres.
MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Selecione um tipo de máquina disponível:
gdcloud compute machine-types list
BOOT_DISK_IMAGE_NAME O nome da imagem a ser usada para o disco de inicialização da nova VM.
BOOT_DISK_SIZE O tamanho do disco de inicialização, como 20GB.
Esse valor precisa ser sempre maior ou igual ao minimumDiskSize da imagem do disco de inicialização.

API

kubectl --kubeconfig MANAGEMENT_API_SERVER \
    apply -n PROJECT -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
  name: VM_BOOT_DISK_NAME
spec:
  source:
    image:
      name: BOOT_DISK_IMAGE_NAME
      namespace: vm-system
  size: BOOT_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachine
metadata:
  name: VM_NAME
spec:
  compute:
    virtualMachineType: MACHINE_TYPE
  disks:
    - virtualMachineDiskRef:
        name: VM_BOOT_DISK_NAME
      boot: true
      autoDelete: BOOT_DISK_AUTO_DELETE
  network:
    networkPerformanceTier: Tier_1
EOF

Substitua:

VariávelDefinição
MANAGEMENT_API_SERVER O arquivo kubeconfig do servidor da API Management.
PROJECT O projeto do Distributed Cloud para criar a VM.
VM_BOOT_DISK_NAME O nome do novo disco de inicialização da VM.
BOOT_DISK_IMAGE_NAME O nome da imagem a ser usada para o disco de inicialização da nova VM.
BOOT_DISK_SIZE O tamanho do disco de inicialização, como 20Gi.
Esse valor precisa ser sempre maior ou igual ao minimumDiskSize da imagem do disco de inicialização.
VM_NAME O nome da nova VM. O nome precisa conter apenas caracteres alfanuméricos e traços e não pode ter mais de 53 caracteres.
MACHINE_TYPE O tipo de máquina predefinido para a nova VM. Selecione um tipo de máquina disponível:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
BOOT_DISK_AUTO_DELETE true ou false, indicando se o disco de inicialização é excluído automaticamente quando a instância de VM é excluída.