Le kube-apiserver : élément central d’un cluster Kubernetes

Photo of author
par KrustyHack
publié le
mis à jour le

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.

Warning
Ce contenu date un peu, il est possible que les éléments présentés aient changés depuis.

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 :

  1. télécharger le binaire kube-apiserver
  2. démarrer le service
Télécharger kube-apiserver

Ce qui est le plus long c’est sa configuration, notamment lorsque l’on configure les certificats TLS du cluster Kubernetes.

kube-apiserver Unit SystemD
Unit SystemD pour le kube-apiserver

À 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… 
Workflow kube-apiserver
Workflow d’une requête pour le kube-apiserver

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.

Laisser un commentaire