Cette page décrit la compatibilité multiréseau des pods, y compris les cas d'utilisation, les concepts pertinents, la terminologie et ses avantages.
Présentation
Google Cloud accepte plusieurs interfaces réseau au niveau des instances de machines virtuelles (VM). Vous pouvez connecter une VM à un maximum de huit réseaux avec plusieurs interfaces réseau, y compris le réseau par défaut et sept réseaux supplémentaires.
La mise en réseau Google Kubernetes Engine (GKE) étend les capacités multiréseaux aux pods qui s'exécutent sur les nœuds. Grâce à la compatibilité multiréseau des pods, vous pouvez activer plusieurs interfaces sur les nœuds et les pods d'un cluster GKE. La compatibilité multiréseau des pods supprime la restriction d'interface unique pour les pools de nœuds, qui limite les nœuds à un seul VPC pour la mise en réseau.
L'optimiseur de fonction réseau (NFO) est un service réseau disponible sur GKE. Il fournit une compatibilité multiréseau, des adresses IP persistantes et un plan de données Kubernetes natif hautes performances. Le NFO permet de déployer des fonctions réseau conteneurisées sur GKE. Le multiréseau est l'un des piliers fondamentaux du NFO.
Pour utiliser la compatibilité multiréseau de vos pods et nœuds, consultez la page Configurer la compatibilité multiréseau pour les pods.
Terminologie et concepts
Cette page utilise les concepts suivants :
VPC principal : le VPC principal est un VPC préconfiguré fourni avec un ensemble de paramètres et de ressources par défaut. Le cluster GKE est créé dans ce VPC. Si vous supprimez le VPC préconfiguré, le cluster GKE est créé dans le VPC principal.
Sous-réseau : dans Google Cloud, un sous-réseau permet de créer un bloc CIDR (Classless Inter-Domain Routing) avec des masques de réseau dans un VPC. Un sous-réseau possède une seule plage d'adresses IP principale attribuée aux nœuds. Il peut disposer de plusieurs plages secondaires pouvant appartenir à des pods et à des services.
Réseau de nœuds : le réseau de nœuds fait référence à une combinaison dédiée d'une paire VPC/sous-réseau. Dans ce réseau de nœuds, les nœuds appartenant au pool de nœuds se voient attribuer des adresses IP de la plage principale.
Plage secondaire : une plage secondaire Google Cloud est un bloc CIDR et un masque de réseau appartenant à un sous-réseau. GKE l'utilise comme réseau de pods de couche 3. Un pod peut se connecter à plusieurs réseaux de pods.
Réseau de pods : objet réseau qui sert de point de connexion pour les pods.
La connexion peut être de type Layer 3
ou Device
. Vous pouvez configurer les réseaux de type Device
en mode netdevice
ou kit de développement de plan de données (DPDK).
Les réseaux Layer 3
correspondent à une plage secondaire d'un sous-réseau. Le réseau Device
correspond à un sous-réseau d'un VPC. Le modèle de données du réseau de pods dans le multiréseau GKE est le suivant :
Réseau
Layer 3
: VPC -> Nom du sous-réseau -> Nom de la plage secondaireRéseau
Device
: VPC -> Nom du sous-réseau
Réseau de pods par défaut : Google Cloud crée un réseau de pods par défaut lors de la création d'un cluster. Le réseau de pods par défaut utilise le VPC principal comme réseau de nœuds. Le réseau de pods par défaut est disponible sur l'ensemble des nœuds et des pods d'un cluster par défaut.
Pods avec plusieurs interfaces : les pods avec plusieurs interfaces ne peuvent pas se connecter au même réseau de pods.
Le schéma suivant illustre une architecture de cluster GKE type avec des réseaux Layer 3
:
Pour les réseaux de type Device
, qui peuvent être configurés en mode netdevice
ou DPDK
, la carte d'interface réseau virtuelle (vNIC) de la VM est gérée en tant que ressource et transmise au pod. Dans ce cas, le réseau de pods est directement mappé au réseau de nœuds. Les plages secondaires ne sont pas obligatoires pour les réseaux de type Device
.
Cas d'utilisation
La compatibilité multiréseau des pods permet de traiter les cas d'utilisation suivants :
- Déployer des fonctions réseau conteneurisées : si vous exécutez les fonctions réseau dans des conteneurs, qui disposent de plans de données et de gestion distincts. L'architecture multiréseau des pods isole les réseaux pour différents plans utilisateur, offre des performances élevées et une latence faible à partir d'interfaces spécifiques, ou la mutualisation au niveau du réseau. Cela est nécessaire pour assurer la conformité, la qualité de service et la sécurité.
- Connecter un VPC au sein de la même organisation et du même projet : vous souhaitez créer des clusters GKE dans un VPC et vous devez vous connecter à des services dans un autre VPC. Vous pouvez utiliser l'option des nœuds à plusieurs cartes d'interface réseau pour une connectivité directe. Cela peut être dû à un modèle en étoile, dans lequel un service centralisé (journalisation, authentification) fonctionne au sein d'un VPC hub et les spokes nécessitent une connectivité privée pour y accéder. Vous pouvez utiliser la compatibilité multiréseau des pods pour connecter directement les pods s'exécutant dans le cluster GKE au VPC hub.
- Exécuter des applications DPDK avec VFIO : vous souhaitez exécuter des applications DPDK qui nécessitent un accès à la carte d'interface réseau sur le nœud via le pilote VFIO. Vous pouvez atteindre le débit de paquets optimal en contournant complètement le kernel, Kubernetes et GKE Dataplane V2.
- Activer l'accès direct à la carte d'interface réseau virtuelle en contournant Kubernetes et GKE Dataplane V2 : vous exécutez les fonctions réseau dans des conteneurs qui nécessitent un accès direct à la carte d'interface réseau (NIC) sur le nœud. Par exemple, les applications de calcul hautes performances (HPC) qui souhaitent contourner Kubernetes et GKE Dataplane V2 pour obtenir la latence la plus faible. Certaines applications souhaitent également avoir accès aux informations de topologie PCIe de la carte d'interface réseau afin de les rassembler avec d'autres appareils tels que les GPU.
Avantages
La compatibilité multiréseau des pods offre les avantages suivants :
- Isolation du trafic : la compatibilité multiréseau des pods vous permet d'isoler le trafic dans un cluster GKE. Vous pouvez créer des pods avec plusieurs interfaces réseau afin de répartir le trafic en fonction des fonctionnalités, telles que la gestion et le plan de données, au sein des pods exécutant des fonctions cloud natives (CNF) spécifiques.
- Double connectivité : la double connectivité permet à un pod de disposer de plusieurs interfaces et d'acheminer le trafic vers différents VPC, ce qui lui permet d'établir des connexions avec un VPC principal et secondaire. Si un VPC rencontre des problèmes, l'application peut rebasculer vers le VPC secondaire.
- Segmentation réseau : les pods peuvent se connecter à des réseaux internes ou externes en fonction des besoins des charges de travail. Selon les exigences spécifiques de vos charges de travail, vous pouvez choisir les pods ou les groupes de pods qui se connectent à chaque réseau. Par exemple, vous pouvez utiliser un réseau interne pour la communication est-ouest et un réseau externe pour l'accès à Internet. Cela vous permet d'adapter la connectivité réseau de vos charges de travail en fonction de leurs besoins.
- Performances optimales avec DPDK : la compatibilité multiréseau des pods dans GKE permet aux applications DPDK de s'exécuter dans des pods GKE, offrant ainsi des performances de traitement de paquets optimales.
- Carte d'interface réseau hôte directement disponible dans le pod : la compatibilité de la carte d'interface réseau en mode
netdevice
avec le multiréseau transmet directement la carte d'interface réseau de la VM au pod, en contournant Kubernetes et GKE Dataplane V2. Cela peut réduire la latence de collaboration entre les appareils. - Performances : pour améliorer les performances de vos applications, vous pouvez les connecter au réseau le mieux adapté à leurs besoins.