
Point d’entrée unique, il valide les requêtes et distribue les tâches aux autres composants. il est responsable de:
| Fonction | Description |
|---|---|
| Gestion de l’API | Expose le endpoint de l’API du cluster, gère toutes les requêtes API, versionne l’API et supporte plusieurs versions simultanément. |
| Authentification et Autorisation | Gère l’authentification (certificats clients, jetons porteurs, authentification HTTP Basic) et autorisation (évaluation ABAC/RBAC). |
| Validation et mutation | Traite les requêtes API et valide les objets de l’API (pods, services, etc.) via les controllers Validation et Mutation Admission. |
| Coordination du cluster | Coordonne les processus entre les composants du plan de contrôle (control plane) et les nœuds de travail (workers). |
| Aggregation Layer | Permet d’étendre l’API Kubernetes avec des ressources et contrôleurs personnalisés via une couche d’agrégation. |
| Communication avec etcd | Le seul composant auquel le kube-apiserver initie une connexion est etcd ; tous les autres composants se connectent à l’API server. |
| Surveillance (watch) des ressources | Supporte la surveillance en temps réel des ressources : permet de recevoir des notifications lors de modifications (création, suppression, etc.). |
| Surveillance indépendante par composant | Chaque composant (Kubelet, scheduler, controllers) surveille l’API server pour déterminer ses actions à effectuer. |
| Proxy intégré | Contient un proxy natif pour permettre un accès aux services ClusterIP depuis l’extérieur du cluster. |
Dans un déploiement Nginx
- Reçoit
kubectl apply -f nginx.yaml, valide les droits, la syntaxe et les règles d’admission. - Écrit l’intention (créer un pod) dans etcd.
- Notifie le kube-scheduler et le kube-controller-manager des nouveaux objets à traiter.