Este documento descreve como configurar o desempenho de rede de nível 1 para determinadas instâncias de máquinas virtuais (VM) no Google Distributed Cloud (GDC) air-gapped. As VMs com configurações de rede de Nível 1 são especialmente úteis para cargas de trabalho de computação distribuídas de grande dimensão com muitas comunicações internas pesadas, como computação de elevado desempenho (HPC), aprendizagem automática (AA) e aprendizagem profunda (AP).
Antes de começar
Para usar os comandos da gdcloud interface de linhas de comando (CLI), certifique-se de que transferiu, instalou e configurou a CLI gdcloud.
Todos os comandos para a nuvem distribuída usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).
Obtenha o caminho do ficheiro kubeconfig
Para executar comandos no servidor da API Management, certifique-se de que tem os seguintes recursos:
Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.
Use o caminho para o ficheiro kubeconfig do servidor da API de gestão para substituir
MANAGEMENT_API_SERVERnestas instruções.
Pedir autorizações e acesso
Para realizar as tarefas indicadas nesta página, tem de ter a função de administrador da máquina virtual do projeto. Siga os passos para
validar
que tem a função de administrador de máquinas virtuais do projeto (project-vm-admin) no espaço de nomes
do projeto onde a VM reside.
Para operações de VM que usam a consola do GDC ou a CLI gdcloud,
peça ao administrador de IAM do projeto para lhe atribuir a função de administrador de máquinas virtuais do projeto e a função de visualizador do projeto (project-viewer).
Limitações
As redes de Nível 1 são suportadas com os tipos de máquinas N2, N3, N4, A2 e A3 que tenham, 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 respetivas interfaces de rede (NICs). A largura de banda inclui os dados transferidos entre instâncias de VMs e o armazenamento de objetos.
O GDC tem os seguintes limites de largura de banda:
- O limite de largura de banda predefinido é de 10 Gbps.
- A rede de nível 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 entre 16 Gbps e 25 Gbps, consoante o tamanho e o tipo de máquina da sua instância.
- A largura de banda de saída real é sempre inferior ou igual ao limite de largura de banda de saída.
Para alcançar a largura de banda de saída mais elevada possível, todas as seguintes condições têm de ser verdadeiras:
- As instâncias de computação de envio e receção têm de estar na mesma zona.
- Os pacotes enviados entre as instâncias têm de usar destinos de endereços IP internos.
- O número de fluxos TCP tem de estar entre 4 e 128 fluxos.
- As instâncias de envio têm de ter a funcionalidade TCP Segmentation Offload (TSO) ativada e as instâncias de receção têm de ter a funcionalidade Generic Receive Offload (GRO) ativada.
VMs N2 e N3
| vCPUs | IP interno | IP interno de nível 1 |
|---|---|---|
| 2 | 10 Gbps | Não aplicável |
| 4 | 10 Gbps | Não aplicável |
| 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 aplicável |
| 8 | 10 Gbps | Não aplicável |
| 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 |
Configure uma VM com rede de nível 1
Crie instâncias e contentores que usam redes 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 o seguinte:
| Variável | Definição |
|---|---|
VM_NAME |
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. |
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 usar para o disco de arranque da nova VM. |
BOOT_DISK_SIZE |
O tamanho do disco de arranque, como 20GB.Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque. |
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 o seguinte:
| Variável | Definição |
|---|---|
MANAGEMENT_API_SERVER |
O ficheiro kubeconfig do servidor da API Management. |
PROJECT |
O projeto do Distributed Cloud para criar a VM. |
VM_BOOT_DISK_NAME |
O nome do disco de arranque da nova VM. |
BOOT_DISK_IMAGE_NAME |
O nome da imagem a usar para o disco de arranque da nova VM. |
BOOT_DISK_SIZE |
O tamanho do disco de arranque, como 20Gi.Este valor tem de ser sempre igual ou superior ao minimumDiskSize da imagem do disco de arranque. |
VM_NAME |
O nome da nova VM. O nome só pode conter carateres alfanuméricos e travessões, e não pode ter mais de 53 carateres. |
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, que indica se o disco de arranque é eliminado automaticamente quando a instância de VM é eliminada. |