Cluster Architektur
Control Nodes (Controllplane / Master Node)
Controlplane Komponenten
Diese Komponenten können, müssen aber nicht in form von Containern auf den Control Nodes laufen.
ETCD
Dies ist ein Key-Value Store (Datenbank) welche die Informationen speichert.
Scheduler
Dies ist eine Applikation, welche die Container und Deployments auf die entsprechende Node schiebt.
Controller-Manager
Node-Controller
Kümmert sich um das Hinzufügen, Entfernen und Status spezifische handeln von nodes. Bsp. wenn eine node abstürzt.
Replication-Controller
Kümmert sich um das Erstellen, Löschen und verschieben von Containern auf den Unterschiedlichen Nodes.
Kube-Apiserver
Kümmert sich um die Kommunikation zwischen den unterschiedlichen Komponenten und veröffentlicht die eigentliche Kuberentes API welche mittels Kubectl usw. angesteuert wird.
Conatiner Runtime Engine
Die Master nodes haben optional eine Container Runtime Engine (Bsp.: Docker, Containerd, Rocket), der Master kann die Controlplane Komponenten in Containern laufen lassen, diese können jedoch auch als applikation auf dem Host direkt laufen.
Worker Nodes
Conatiner Runtime Engine
Jede Worker node hat eine Container Tunrtime Engine, diese wird benötigt um die Container auf der jeweiligen Node auszuführen.
Kubelet
Die Kubelet ist der "Kapitän" der Nodes, diese Applikation ist dafür verantwortlich die Kommunikation mit der Masternode aufrecht zu halten und die Anforderungen entsprechend umzusetzen (Bsp.: neue Container aus zu führen)
Kube-Proxy
Der Kube-Proxy ist für die Kommunikation zwischen Container auf unterschiedlichen Nodes verantwortlich.