14
Table des matières
Concepts de base
Pods et adresses IP
Au cœur de Kubernetes, le réseautage se trouve le pod. Chaque pod obtient sa propre adresse IP unique au sein du cluster. Cette adresse IP est de savoir comment les autres pods et services communiquent avec lui. Il est important de se rappeler que ces adresses IP ne sont généralement pas statiques; Ils peuvent changer lorsqu’un pod est reprogrammé ou recréé. C’est pourquoi s’appuyer directement sur les adresses IP POD est généralement découragée.
Services
Les services fournissent un point final stable pour accéder aux pods. Ils résument les IPS sous-jacents, offrant une façon cohérente de se connecter à un ensemble de pods qui fournissent une fonctionnalité spécifique. Les services utilisent des sélecteurs pour identifier les pods vers lesquels ils acheminent le trafic. Il existe plusieurs types de services:
- Clusterrip: Expose le service sur une IP interne de cluster. C’est le type par défaut et rend le service accessible uniquement à partir du cluster.
- NONDEPORT: Expose le service sur IP de chaque nœud dans un port statique. Cela permet un accès externe, mais n’est pas idéal pour la production en raison de problèmes de gestion des ports.
- LoadBalancer: Dispositions Un équilibreur de charge externe (s’il est pris en charge par votre fournisseur de cloud) pour exposer le service en externe. Il s’agit de la méthode préférée pour les environnements de production.
- Nom external: Mappe le service au contenu du nom externe champ (par exemple, un nom DNS).
Politiques de réseau
Les stratégies de réseau définissent les règles sur la façon dont les pods peuvent communiquer entre eux et avec d’autres points de terminaison du réseau. Ils agissent comme un pare-feu dans le cluster Kubernetes, vous permettant de contrôler le flux de trafic en fonction des étiquettes et des sélecteurs. Sans politiques de réseau, tous les pods peuvent communiquer librement entre eux. La mise en œuvre des politiques de réseau est cruciale pour la sécurité.
Comment fonctionne le réseautage de Kubernetes
CNI (interface réseau de conteneurs)
Kubernetes n’implémente pas le réseautage lui-même. Il s’appuie plutôt sur un plugin CNI. Les CNIS sont responsables de la configuration du réseau pour les pods, de l’attribution d’adresses IP et de la configuration du routage. Les plugins CNI populaires comprennent:
- Calicot
- Flanelle
- tisser
- Cil
Le choix du plugin CNI dépend de vos exigences spécifiques, telles que les performances du réseau, les fonctionnalités de sécurité et l’intégration avec l’infrastructure existante.
à proxy
Kube-Proxy est un proxy de réseau qui s’exécute sur chaque nœud dans le cluster. Il maintient les règles du réseau sur les nœuds, permettant la communication aux pods. Il gère le routage des services en interceptant le trafic destiné à un clusterrip d’un service et en le transmettant dans l’une des pods de support. Kube-Proxy peut fonctionner dans différents modes, y compris les iptables, les IPV et l’espace utilisateur, chacun avec ses propres caractéristiques de performance.
Entrave: gérer l’accès externe
Bien que les services puissent exposer les applications en externe, Ingress fournit un moyen plus sophistiqué de gérer l’accès externe. Un contrôleur d’entrée agit comme un proxy inversé, roulant le trafic vers différents services en fonction des noms d’hôtes ou des chemins. Cela vous permet d’exposer plusieurs services via une seule adresse IP et un seul port.
Contrôleurs entrants
Plusieurs contrôleurs entravés sont disponibles, notamment:
- Contrôleur à entronne de Nginx
- Trafik
- Contrôleur à entrave Haproxy
Les contrôleurs entrants prennent généralement en charge les fonctionnalités telles que la terminaison SSL, l’équilibrage de charge et l’hébergement virtuel.
Dépannage de Kubernetes Networking
Problèmes communs
- Résolution DNS: Les pods peuvent ne pas résoudre les noms de service si DNS n’est pas configuré correctement.
- Conflits de politique du réseau: Les stratégies réseau à tort incorrect peuvent bloquer le trafic légitime.
- Problèmes du plugin CNI: Les problèmes avec le plugin CNI peuvent empêcher les pods d’obtenir des adresses IP ou de communiquer entre elles.
Outils utiles
- kubectl exec: Vous permet d’exécuter des commandes à l’intérieur d’un pod pour le débogage.
- nslookup: Utilisé pour tester la résolution DNS.
- TCPDump: Un puissant analyseur de paquets pour capturer et inspecter le trafic réseau.
Principaux à retenir
- Kubernetes Networking s’appuie sur des pods, des services et des politiques de réseau.
- Les plugins CNI sont responsables de la configuration du réseau pour les pods.
- Kube-Proxy gère le routage de service.
- Ingress fournit un moyen flexible de gérer l’accès externe.
- Le dépannage nécessite la compréhension du DNS, des politiques réseau et le plugin CNI.
FAQ
Q: Quelle est la différence entre un service et une entrée?
R: Un service expose les applications dans le cluster ou en externe à l’aide de nodeport ou de chargeur. Une entrée fournit un moyen plus avancé de gérer l’accès externe, vous permettant d’acheminer le trafic vers plusieurs services en fonction des noms d’hôtes ou des chemins.
Q: Puis-je utiliser plusieurs contrôleurs d’entrée dans un cluster?
R: Oui, vous le pouvez, mais cela nécessite une configuration minutieuse pour éviter les conflits. En règle générale, vous désignerez un contrôleur d’entrée par défaut.
Q: Comment choisir un plugin CNI?
R: Considérez des facteurs tels que les performances du réseau, les fonctionnalités de sécurité, l’intégration avec votre infrastructure existante et la facilité de gestion.