Configurer la mise en réseau de niveau 1 pour une VM

Ce document explique comment configurer les performances de mise en réseau de niveau 1 pour certaines instances de machines virtuelles (VM) dans Google Distributed Cloud (GDC) sous air gap. Les VM avec configuration réseau de niveau 1 sont particulièrement utiles pour les charges de travail de calcul distribuées et volumineuses qui impliquent des communications intensives entre les nœuds. Cela inclut par exemple le calcul hautes performances (HPC), le machine learning (ML) et le deep learning (DL).

Ce document est destiné aux développeurs des groupes d'administrateurs de plate-forme ou d'opérateurs d'applications qui configurent la mise en réseau pour les VM dans un environnement Distributed Cloud. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.

Avant de commencer

Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud, assurez-vous d'avoir téléchargé, installé, et configuré la gdcloud CLI. Toutes les commandes de Distributed Cloud utilisent la CLI gdcloud ou kubectl, et nécessitent un environnement de système d'exploitation.

Obtenir le chemin d'accès au fichier kubeconfig

Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :

  1. Connectez-vous et générez le fichier kubeconfig pour le serveur de l'API Management si vous n'en avez pas.

  2. Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer MANAGEMENT_API_SERVER dans ces instructions.

Demander des rôles IAM

Contactez l'administrateur IAM de votre projet pour demander les rôles suivants sur votre projet :

  • Administrateur de projet de machine virtuelle (project-vm-admin) : créez, modifiez, listez et supprimez des VM dans l'espace de noms du projet.

  • Lecteur de projet(project-viewer) : affichez toutes les ressources dans les espaces de noms du projet.

Tous les rôles de VM doivent être liés à l'espace de noms du projet dans lequel réside la VM. Suivez les étapes pour vérifier votre accès.

Limites

La mise en réseau de niveau 1 est compatible avec les types de machines N2, N3, N4, A2 et A3 qui disposent d'au moins quatre processeurs virtuels.

Niveaux de bande passante

La limite de bande passante entrante et sortante représente la quantité maximale de données possible par unité de temps, par exemple en gigabits par seconde (Gbit/s), que GDC autorise une instance de VM à transmettre ou à recevoir de ses interfaces réseau. La bande passante inclut les données transférées entre les instances de VM et le stockage d'objets.

GDC présente les limites de bande passante suivantes :

  • La limite de bande passante par défaut est de 10 Gbit/s.
  • La mise en réseau de niveau 1 augmente la limite de bande passante de sortie maximale pour les instances de calcul. La limite de bande passante de sortie maximale varie de 16 à 25 Gbit/s, en fonction de la taille et du type de machine de votre instance.
  • La bande passante de sortie réelle est toujours inférieure ou égale à la limite de bande passante de sortie.

Pour atteindre la bande passante de sortie la plus élevée possible, toutes les conditions suivantes doivent être remplies :

  • Les instances de calcul d'envoi et de réception doivent se trouver dans la même zone.
  • Les paquets envoyés entre les instances doivent utiliser une adresse IP interne de destination.
  • Le nombre de flux TCP doit être compris entre 4 et 128.
  • Le déchargement de segmentation TCP (TSO) doit être activé pour les instances d'envoi, et le déchargement de réception générique (GRO) doit être activé pour les instances de réception.

VM N2 et N3

vCPUs Adresse IP interne Adresse IP interne de niveau 1
2 10 Gbit/s Non applicable
4 10 Gbit/s Non applicable
8 10 Gbit/s 16 Gbit/s
12 10 Gbit/s 25 Gbit/s
16 10 Gbit/s 25 Gbit/s
32 10 Gbit/s 25 Gbit/s
64 10 Gbit/s 25 Gbit/s

VM N4

vCPUs Adresse IP interne Adresse IP interne de niveau 1
4 10 Gbit/s Non applicable
8 10 Gbit/s Non applicable
16 10 Gbit/s 25 Gbit/s
32 10 Gbit/s 25 Gbit/s
48 10 Gbit/s 25 Gbit/s
64 10 Gbit/s 25 Gbit/s
80 10 Gbit/s 25 Gbit/s
160 10 Gbit/s 25 Gbit/s

VM A2

vCPUs Adresse IP interne Adresse IP interne de niveau 1
12 10 Gbit/s 18 Gbit/s
24 10 Gbit/s 25 Gbit/s

VM A3

vCPUs Adresse IP interne Adresse IP interne de niveau 1
28 10 Gbit/s 25 Gbit/s
56 10 Gbit/s 25 Gbit/s
112 10 Gbit/s 25 Gbit/s

Configurer une VM avec la mise en réseau de niveau 1

Créez des instances et des conteneurs qui utilisent la mise en réseau de niveau 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

Remplacez les éléments suivants :

VariableDéfinition
VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Sélectionnez un type de machine disponible :
gdcloud compute machine-types list
BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le nouveau disque de démarrage de la VM.
BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20GB.
Cette valeur doit toujours être supérieure ou égale à minimumDiskSize de l'image du disque de démarrage.

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

Remplacez les éléments suivants :

VariableDéfinition
MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API de gestion.
PROJECT Projet Distributed Cloud dans lequel créer la VM.
VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le nouveau disque de démarrage de la VM.
BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
Cette valeur doit toujours être supérieure ou égale à minimumDiskSize de l'image du disque de démarrage.
VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Sélectionnez un type de machine disponible :
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.