Kubelet ist der zentrale Agent, der auf jedem Worker-Knoten eines Kubernetes-Clusters läuft. Er registriert den Knoten beim API-Server, bekommt von dort die Pod-Spezifikationen und sorgt dafür, dass die zugewiesenen Pods samt Containern tatsächlich starten, laufen und bei Problemen neu gestartet werden.
Aufgaben des Kubelet
- Knoten-Registrierung: meldet den Node mit seinen Ressourcen (CPU, RAM) beim Control Plane an.
- Pod-Lifecycle: erzeugt, überwacht und beendet Pods auf seinem Knoten.
- Health-Checks: prüft regelmäßig, ob Container noch laufen (Liveness-/Readiness-Probes).
- Ressourcen-Enforcement: setzt CPU-/Speicher-Limits aus den Manifests durch.
- Heartbeat: meldet den Zustand des Knotens in festen Intervallen an den API-Server.
Kubelet und Container-Runtime
Das Kubelet spricht mit der Container-Runtime über die Container Runtime Interface (CRI) — eine standardisierte gRPC-Schnittstelle. Dadurch können unterschiedliche Runtimes wie containerd oder CRI-O eingesetzt werden, ohne Kubernetes selbst anzupassen. Das Kubelet ist als systemd-Dienst (kubelet.service) auf jedem Knoten aktiv. Beim Aufsetzen neuer Cluster übernimmt das offizielle Bootstrap-Werkzeug kubeadm die Einrichtung des Kubelet inklusive der Zertifikatsverteilung.
Abgrenzung
Während der Kubernetes-Control-Plane (API-Server, Scheduler, Controller-Manager) die Entscheidungen trifft, ist das Kubelet die ausführende Instanz auf dem Knoten — vergleichbar mit einem Betriebsleiter, der die Anweisungen der Zentrale vor Ort umsetzt.
Verwandte Grundlagen
Siehe auch: Kubernetes, Container-Runtime, Docker Swarm, Pod, Daemon, kubectl-Befehle.