Le/les noeuds master kubernetes vont permettre de déployer des pods ainsi que tous les objets Kubernetes.
Voici en détails les fonctions d'un master Kubernetes :
Composant | Utilité |
---|---|
kube-apiserver | Composant qui permet l'exposition de l'API kubernetes. |
etcd | Permet le stockage des clés/valeurs pour tout le cluster. |
kube-scheduler | Observe la création de pods et assigne un pod à un noeud (selon les ressources, contraintes etc...). |
kube-controller manager | Permet de faire tourner les noeuds, les réplicas, endpoints, compte de service et les token sur le master. Il gère que tout se passe bien. |
cloud-controller manager | Permet de relier le cluster à l'API de votre cloud provider (AWS, Azure, GCP...) et de séparer les composants qui interagissent avec ce cloud provider des composants qui interagissent uniquement avec votre cluster (volume par exemple). |
Tous ces composants forment le "Control Plane" de kubernetes.
Voici en détails les fonctions d'un worker Kubernetes :
Composant | Utilité |
---|---|
kubelet | Agent qui permet de communiquer avec le master (kube-api-server) et de gérer le noeud. |
kube-proxy | Kube-proxy s'exécute sur chaque nœud. Il reflète les services définis dans l'API Kubernetes sur chaque nœud et peut effectuer un simple transfert de flux TCP, UDP et SCTP ou un transfert TCP, UDP et SCTP circulaire sur un ensemble de backends. |
Container Runtime | Containerd / Docker / CRI-O, défini dans la configuration de kubernetes. |