Le kube-apiserver est un composant primordial dans un cluster Kubernetes. Il est le point central de beaucoup d’actions qui sont effectuées sur le cluster. Découvrons donc à quoi il sert et pourquoi il est si important.
Quel est le rôle du kube-apiserver ?
Comme dit, c’est un composant primordial et central d’un cluster Kubernetes. Il reçois TOUTES les requêtes API et se charge de les traiter. Il est scalable horizontalement ce qui permet une haute disponibilité dans des configurations de type production.
- Reçoit les requêtes API faites au cluster
- Authentifie les requêetes
- Valide les requêtes
- Récupère les données dans ETCD
- Transmet les réponses aux clients
- API => utilisable via curl, kubectl, etc…
Exemple d’intéractions avec le kube-apiserver
- Création d’un objet Kubernetes
- Suppression d’un objet Kubernetes
- Modification d’un objet Kubernetes
- Poll par le kube-scheduler
- etc…
Il est vraiment le point central d’un cluster et c’est lui qui discute avec les différents éléments d’un cluster Kubernetes.
Installation simplifiée du kube-apiserver
En soit l’installation du kube-apiserver n’est pas compliquée et se fait en 2 étapes rapides :
- télécharger le binaire kube-apiserver
- démarrer le service
Ce qui est le plus long c’est sa configuration, notamment lorsque l’on configure les certificats TLS du cluster Kubernetes.
À savoir que si vous utilisez kubeadm pour bootstraper votre cluster, le kube-apiserver sera sous forme de pod et non d’un binaire sur une VM. Vous pouvez retrouver sa définition dans le fichier /etc/kubernetes/manifests/kube-apiserver.yml
.
Utilité et rôle du kube-apiserver dans Kubernetes
Même si je l’ai déjà dit, son rôle est vraiment central. Sans le kube-apiserver le cluster ne sert à rien. De plus, il est LE SEUL à interagir avec le cluster ETCD, que ce soit en écriture ou en lecture.
- authentifie le client
- valide les requêtes
- récupère les données
- met à jour ETCD
- intéragit avec le kube-scheduler, le controller-manager, le kubelet, etc…
C’était un article rapide sur le kube-apiserver. Nous verrons plus en détail son fonctionnement dans les prochains articles et vidéos. Là je voulais juste dégrossir le sujet avant d’attaquer plus en profondeur.