kubeadm ist das offizielle Werkzeug von Kubernetes, um einen neuen Cluster aufzusetzen (Bootstrapping). Statt die einzelnen Komponenten von Hand zu installieren, bereitet kubeadm die Control-Plane und die Worker-Knoten mit einem Befehl vor.

kubeadm init — die Control-Plane starten

Mit kubeadm init initialisiert man auf einem Server die Control-Plane. Das Werkzeug startet die zentralen Komponenten kube-apiserver, kube-controller-manager und kube-scheduler, richtet etcd als Speicher ein, erzeugt die Zertifikate und die kubeconfig-Datei für kubectl. Vorher laufen Preflight-Checks, die zum Beispiel freie Ports und das Betriebssystem prüfen. Am Ende gibt kubeadm einen Befehl mit einem Join-Token aus.

kubeadm join — Worker-Knoten anbinden

Mit kubeadm join wird ein Worker-Knoten dem Cluster hinzugefügt. Der neue Knoten holt sich die nötigen Informationen vom API-Server, das Kubelet erhält seine Zertifikate per TLS-Bootstrapping und registriert sich. Auch weitere Control-Plane-Knoten für einen hochverfügbaren Cluster lassen sich so anbinden.

Was kubeadm nicht erledigt

Das Werkzeug installiert bewusst kein Netzwerk-Plugin: Ein CNI-Plugin wie Calico oder Flannel muss separat eingerichtet werden. Für Versions-Upgrades gibt es kubeadm upgrade. Weil kubeadm der zertifizierte Standardweg ist, nutzen auch viele Distributionen und die Cluster-API kubeadm als Bootstrap-Mechanismus.

Verwandte Grundlagen: Kubernetes, Kubelet, K3s, OpenShift.