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 :
Connectez-vous et générez le fichier kubeconfig pour le serveur de l'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer
MANAGEMENT_API_SERVERdans 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 :
| Variable | Dé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 :
| Variable | Dé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. |