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

ComposantRôleNote
kube-apiserverPoint d’entrée unique — valide et expose l’API REST Kuberneteskube-apiserver
etcdBase de données distribuée clé/valeur — source de vérité du clusteretcd
kube-schedulerPlanifie les pods sur les nœuds disponibles (ressources, affinités, priorités)kube-scheduler
kube-controller-managerExécute les controllers (Deployment, ReplicaSet, Node, Job…) en boucle de contrôlekube-controller-manager
cloud-controller-managerIntè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égorieComposants principauxRôle / Emplacement
Control Planekube-apiserver, etcd, scheduler, controller-manager, cloud-controller-managerDécisions et orchestration (nœuds dédiés, HA en prod)
Worker Nodekubelet, kube-proxy, container runtimeExécution des Pods (tous les nœuds worker)
Clients & outils externeskubectl, Dashboard, CI/CDInteraction et automatisation

Rôles des composants du Control Plane

ComposantRôle principalExemple dans un déploiement Nginx
kube-apiserverPoint d’entrée de l’API, validation, authentification, communication avec tous les autresReçoit et traite la requête de création
etcdStockage central clé-valeur, état du clusterMémorise les objets pods/services
kube-schedulerPlanification sur les nodes, attribution pods → nodesAffecte le pod Nginx à un worker
kube-controller-managerExecution des “control loops”, maintien de l’état désiréRestaure un pod Nginx si un tombe
cloud-controller-managerIntégration avec le cloud provider (optionnel)Crée un LoadBalancer pour le service

Rôles des composants Worker

ComposantRôle principal
kubeletAgent par nœud, garantit que les pods tournent selon le podSpec
kube-proxyGère les règles réseau pour router le trafic vers les pods (Services)
container runtimeCouche 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