Configurar la red de nivel 1 de una máquina virtual

En este documento se describe cómo configurar el rendimiento de la red de nivel 1 para determinadas instancias de máquina virtual (VM) en Google Distributed Cloud (GDC) air-gapped. Las máquinas virtuales con configuraciones de red de nivel 1 son especialmente útiles para cargas de trabajo de computación distribuidas de gran tamaño con muchas comunicaciones pesadas entre nodos, como la computación de alto rendimiento (HPC), el aprendizaje automático (ML) y el aprendizaje profundo (DL).

Antes de empezar

Para usar los comandos de la gdcloud interfaz de línea de comandos (CLI), asegúrate de haber descargado, instalado y configurado la gdcloud CLI. Todos los comandos de Distributed Cloud usan la CLI gdcloud o kubectl y requieren un entorno de sistema operativo.

Obtener la ruta del archivo kubeconfig

Para ejecutar comandos en el servidor de la API Management, asegúrate de tener los siguientes recursos:

  1. Inicia sesión y genera el archivo kubeconfig del servidor de la API Management si no tienes uno.

  2. Usa la ruta al archivo kubeconfig del servidor de la API Management para sustituir MANAGEMENT_API_SERVER en estas instrucciones.

Solicitar permisos y acceso

Para realizar las tareas que se indican en esta página, debes tener el rol de administrador de máquinas virtuales de proyecto. Sigue los pasos para verificar que tienes el rol de administrador de máquinas virtuales de proyecto (project-vm-admin) en el espacio de nombres del proyecto en el que reside la VM.

Para realizar operaciones con VMs mediante la consola de GDC o la CLI de gdcloud, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol Administrador de VirtualMachine de proyecto y el rol Lector de proyectos (project-viewer).

Limitaciones

Las redes de nivel 1 se admiten en los tipos de máquinas N2, N3, N4, A2 y A3 que tengan al menos 4 vCPUs.

Niveles de ancho de banda

El límite de ancho de banda de entrada y salida representa la cantidad máxima posible de datos por unidad de tiempo, como gigabits por segundo (Gbps), que GDC permite que una instancia de VM transmita o reciba de sus interfaces de red (NICs). El ancho de banda incluye los datos transferidos entre las instancias de VM y el almacenamiento de objetos.

GDC tiene los siguientes límites de ancho de banda:

  • El límite de ancho de banda predeterminado es de 10 Gbps.
  • La red de nivel 1 aumenta el límite máximo de ancho de banda de salida de las instancias de computación. El límite máximo de ancho de banda de salida oscila entre 16 y 25 Gb/s, en función del tamaño y el tipo de máquina de la instancia.
  • El ancho de banda de salida real siempre es inferior o igual al límite de ancho de banda de salida.

Para conseguir el mayor ancho de banda de salida posible, deben cumplirse todas las condiciones siguientes:

  • Las instancias de proceso de envío y recepción deben estar en la misma zona.
  • Los paquetes enviados entre las instancias deben usar direcciones IP internas de destino.
  • El número de flujos TCP debe estar entre 4 y 128.
  • Las instancias de envío deben tener habilitada la descarga de segmentación TCP (TSO) y las instancias de recepción deben tener habilitada la descarga de recepción genérica (GRO).

Máquinas virtuales N2 y N3

vCPUs IP interna IP interna de nivel 1
2 10 Gb/s No aplicable
4 10 Gb/s No aplicable
8 10 Gb/s 16 Gbps
12 10 Gb/s 25 Gbps
16 10 Gb/s 25 Gbps
32 10 Gb/s 25 Gbps
64 10 Gb/s 25 Gbps

Máquinas virtuales N4

vCPUs IP interna IP interna de nivel 1
4 10 Gb/s No aplicable
8 10 Gb/s No aplicable
16 10 Gb/s 25 Gbps
32 10 Gb/s 25 Gbps
48 10 Gb/s 25 Gbps
64 10 Gb/s 25 Gbps
80 10 Gb/s 25 Gbps
160 10 Gb/s 25 Gbps

Máquinas virtuales A2

vCPUs IP interna IP interna de nivel 1
12 10 Gb/s 18 Gbps
24 10 Gb/s 25 Gbps

Máquinas virtuales A3

vCPUs IP interna IP interna de nivel 1
28 10 Gb/s 25 Gbps
56 10 Gb/s 25 Gbps
112 10 Gb/s 25 Gbps

Configurar una máquina virtual con redes de nivel 1

Crea instancias y contenedores que usen la red de nivel 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

Haz los cambios siguientes:

VariableDefinición
VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Selecciona un tipo de máquina disponible:
gdcloud compute machine-types list
BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
BOOT_DISK_SIZE Tamaño del disco de arranque, como 20GB.
Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del 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

Haz los cambios siguientes:

VariableDefinición
MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
PROJECT El proyecto de Distributed Cloud en el que se creará la VM.
VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Selecciona un tipo de máquina disponible:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
BOOT_DISK_AUTO_DELETE true o false, que indica si el disco de arranque se elimina automáticamente cuando se elimina la instancia de máquina virtual.