
Vue d'ensemble : Control Plane et Noeuds Workers
Comprenez la distinction fondamentale dans l'architecture Kubernetes entre le Control Plane (gestion) et les Noeuds Workers (exécution des applications).
La dichotomie fondamentale : gérer et exécuter
Au coeur de l'architecture de tout cluster Kubernetes se trouve une séparation fondamentale des rôles entre deux types principaux de composants : le Control Plane et les Noeuds Workers (parfois appelés simplement Noeuds ou anciennement Minions). Cette distinction est essentielle pour comprendre comment Kubernetes orchestre les applications conteneurisées.
On peut imaginer le Control Plane comme le cerveau ou le centre de commandement du cluster. C'est lui qui prend les décisions globales, maintient l'état désiré du système et gère l'ensemble du cluster. Les Noeuds Workers, en revanche, sont les muscles de l'opération. Ce sont les machines (physiques ou virtuelles) qui exécutent réellement les charges de travail applicatives sous forme de conteneurs, suivant les instructions reçues du Control Plane.
Cette séparation permet une meilleure organisation, scalabilité et résilience. Le Control Plane peut être hébergé sur des machines dédiées (souvent appelées Masters) pour assurer sa disponibilité, tandis que le pool de Noeuds Workers peut être ajusté en fonction des besoins en ressources des applications.
Rôle et responsabilités du Control Plane
Le Control Plane est responsable de la gestion globale du cluster Kubernetes. Ses fonctions principales incluent :
- Exposer l'API Kubernetes : Il fournit le point d'accès centralisé (via l'API Server) pour toutes les interactions avec le cluster, que ce soit par les utilisateurs (via `kubectl`), les applications ou les composants internes du cluster eux-mêmes.
- Prendre des décisions d'ordonnancement : Il décide sur quels Noeuds Workers les conteneurs (encapsulés dans des Pods) doivent être placés (via le Scheduler).
- Maintenir l'état désiré : Il surveille en permanence l'état du cluster et prend des mesures correctives pour s'assurer que l'état réel correspond à l'état désiré défini par l'utilisateur (via les Controller Managers). Par exemple, si un déploiement demande 3 réplicas d'une application et qu'un conteneur tombe, le Control Plane s'assurera qu'un nouveau est démarré.
- Stocker la configuration et l'état : Il conserve la configuration complète et l'état actuel du cluster dans une base de données distribuée fiable (etcd).
En résumé, le Control Plane ne lance pas directement les conteneurs applicatifs, mais il orchestre l'ensemble du processus pour que les Noeuds Workers le fassent de manière cohérente et fiable.
Rôle et responsabilités des Noeuds Workers
Les Noeuds Workers constituent la capacité de calcul effective du cluster. Ce sont eux qui hébergent et exécutent les conteneurs des applications. Chaque Noeud Worker exécute des agents qui le connectent au Control Plane et lui permettent de remplir ses fonctions :
- Exécuter les conteneurs : La fonction première est de démarrer, arrêter et gérer le cycle de vie des conteneurs applicatifs selon les instructions reçues du Control Plane (via le Kubelet et le Container Runtime).
- Gérer le réseau local : Ils s'assurent que les conteneurs sur le noeud peuvent communiquer entre eux et avec l'extérieur, et gèrent les règles de routage pour les services (via Kube-proxy et le plugin CNI).
- Gérer le stockage local : Ils montent et gèrent les volumes de stockage nécessaires aux conteneurs.
- Rapporter l'état : Ils communiquent régulièrement leur état de santé et l'état des conteneurs qu'ils exécutent au Control Plane (via le Kubelet).
Les Noeuds Workers sont donc les exécutants qui fournissent l'environnement nécessaire pour que les applications conteneurisées fonctionnent comme prévu par les configurations définies au niveau du Control Plane.
Cette vue d'ensemble établit la relation maître-esclave (ou plutôt gestionnaire-exécutant) entre le Control Plane et les Noeuds Workers. Les sections suivantes détailleront les composants spécifiques qui résident dans chacune de ces parties et comment ils collaborent pour donner vie à la magie de Kubernetes.