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:
Faça login e gere o arquivo kubeconfig para o servidor da API Management se você não tiver um.
Use o caminho para o arquivo kubeconfig do servidor da API Management para substituir
MANAGEMENT_API_SERVERnestas 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ável | Definiçã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ável | Definiçã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. |