Le Control Plane orchestre l’ensemble du cluster Kubernetes. Il prend toutes les décisions d’administration : planification des pods, maintien de l’état désiré, gestion des nœuds.
Tous les échanges passent par le kube-apiserver. Les composants ne communiquent pas directement entre eux.
Composants du Control Plane
| Composant | Rôle | Note |
|---|---|---|
| kube-apiserver | Point d’entrée unique — valide et expose l’API REST Kubernetes | kube-apiserver |
| etcd | Base de données distribuée clé/valeur — source de vérité du cluster | etcd |
| kube-scheduler | Planifie les pods sur les nœuds disponibles (ressources, affinités, priorités) | kube-scheduler |
| kube-controller-manager | Exécute les controllers (Deployment, ReplicaSet, Node, Job…) en boucle de contrôle | kube-controller-manager |
| cloud-controller-manager | Intègre les APIs du cloud provider (Load Balancer AWS, volumes GCP…) | cloud-controller-manager |
Flux de traitement d’une requête
kubectl apply -f nginx.yaml
│
▼
kube-apiserver ← authentification + RBAC + validation
│
▼
etcd ← persistance de l'état désiré
│
▼
kube-scheduler ← choisit le nœud cible (si pod non assigné)
│
▼
kube-controller-manager ← Deployment/ReplicaSet Controller → crée les pods
│
▼
kubelet ← reçoit la spec, lance le conteneur via le runtime
Haute disponibilité
En production, les composants du Control Plane sont répliqués sur plusieurs nœuds dédiés :
Control Plane Node 1 : kube-apiserver + etcd + scheduler + controller-manager
Control Plane Node 2 : kube-apiserver + etcd + scheduler + controller-manager
Control Plane Node 3 : kube-apiserver + etcd + scheduler + controller-manager
│
Leader Election (scheduler, controller-manager)
Quorum etcd (raft, 3 nœuds minimum)
Tableau de synthèse des composants
Tableau de synthèse - Composants Kubernetes
Vue d’ensemble par catégorie
Catégorie Composants principaux Rôle / Emplacement Control Plane kube-apiserver, etcd, scheduler, controller-manager, cloud-controller-manager Décisions et orchestration (nœuds dédiés, HA en prod) Worker Node kubelet, kube-proxy, container runtime Exécution des Pods (tous les nœuds worker) Clients & outils externes kubectl, Dashboard, CI/CD Interaction et automatisation Rôles des composants du Control Plane
Composant Rôle principal Exemple dans un déploiement Nginx kube-apiserver Point d’entrée de l’API, validation, authentification, communication avec tous les autres Reçoit et traite la requête de création etcd Stockage central clé-valeur, état du cluster Mémorise les objets pods/services kube-scheduler Planification sur les nodes, attribution pods → nodes Affecte le pod Nginx à un worker kube-controller-manager Execution des “control loops”, maintien de l’état désiré Restaure un pod Nginx si un tombe cloud-controller-manager Intégration avec le cloud provider (optionnel) Crée un LoadBalancer pour le service Rôles des composants Worker
Composant Rôle principal kubelet Agent par nœud, garantit que les pods tournent selon le podSpec kube-proxy Gère les règles réseau pour router le trafic vers les pods (Services) container runtime Couche d’exécution basse : pull image, démarrage/arrêt des conteneurs
Chaque composant du control plane travaille en boucle continue pour s’assurer que l’état “réel” du cluster correspond à l’état “désiré” exprimé dans les fichiers YAML.
Link to original
En relation avec
- Synthèse des composants Kubernetes — vue d’ensemble complète du cluster
- Nœuds — Vue d’ensemble — kubelet, kube-proxy, container runtime
- Réseau Kubernetes — Vue d’ensemble — ingress, CNI, TLS
- TLS et SSL — mTLS entre composants (apiserver ↔ etcd ↔ kubelet)
- RPC — gRPC utilisé entre certains composants (apiserver ↔ etcd)