Kubernetes (kurz K8s) ist aus modernen IT-Infrastrukturen kaum noch wegzudenken. Gleichzeitig schrecken viele Unternehmen und Entscheider vor dieser Technologie zurück: nicht nur wegen der Technik selbst, sondern wegen der vielen ungewohnten Begriffe.
In diesem Artikel erklären wir die wichtigsten Kubernetes-Begriffe ausführlich und in Alltagssprache. Unser Ziel ist es, Kubernetes verständlich, greifbar und logisch zu machen.
Pod
Ein Pod ist die kleinste Einheit, die du in einer Kubernetes-Umgebung bereitstellen kannst. Er verfügt über einen oder mehrere Container, die zusammenarbeiten und sich die Netzwerk- und Speicherressourcen des Hostknotens, auf dem sich der Pod befindet, teilen.
Du kannst Pods entweder manuell erstellen oder automatisiert verschiedene Kubernetes-Controller. Der Vorteil von Controllern ist, dass sie die erstellten Pods für dich verwalten: Fährst du z.B. einen Node herunter, verteilt ein Controller darauf befindliche Pods um.
Wichtig zu verstehen:
- Pods sind vergänglich
- Arbeite wenn möglich nie direkt mit einzelnen Pods
- Kubernetes behandelt Pods wie Wegwerf-Einheiten
Container
Der Container ist das, was in einem Pod enthalten ist. Er bringt alles mit, was er zum Arbeiten braucht. Ein Container enthält die Anwendung, alle benötigten Libaries und Laufzeitumgebung.
Warum Container für Kubernetes so wichtig sind
Kubernetes kann nur automatisieren, was standardisiert ist.
Container liefern genau das:
- Reproduzierbar
- Skalierbar
- Austauschbar
Node
Ein Kubernetes-Node ist eine kleine Sammlung von Ressourcen, die einen oder mehrere Container unterstützt. Diese Ressourcen sind z.B. physische Server oder virtuelle Maschinen. Jede Ressource enthält die Dienste Docker, kube-proxy und kubelet, die beim Erstellen der Laufzeitumgebung helfen und Kubernetes-Pods unterstützen.
Wichtige Eigenschaft:
- Pods sind nicht an eine Node gebunden.
- Fällt eine Node aus, startet Kubernetes die Pods auf einer anderen Node neu.
Cluster
Ein Cluster ist eine Gruppe von Nodes, die sich wie ein einziges, verteiltes System verhalten. In Kubernetes bezeichnet ein Cluster die Gruppe von Nodes, die du zum Verwalten und Ausführen deiner containerisierten Anwendungen verwendest.
Ein Kubernetes-Cluster besteht aus zwei Untergruppen mit je einem oder mehreren Nodes: Dem Control Plane und den Workern. Die Nodes des Control Planes steuern den Zustand des gesamten Clusters. Sie senden Aufgaben im Cluster aus, einschließlich Planung, Wartung und Updates.
Ein Cluster besteht demnach aus:
- Mehreren Nodes
- Einer zentralen Steuerung (Control Plane)
- Netzwerk, Speicher und sonstigen Ressourcen (z.B. GPUs)
Control Plane
Die Control Plane sorgt für den gewünschten Zustand des Clusters und stellt beispielsweise fest, welche Anwendungen ausgeführt werden. Die Komponenten der Control Plane bestehen aus:
- Kubernetes API Server
- Kubernetes Scheduler
- Kubernetes Cloud Controller (optional)
- Kubernetes Controller Manager
- etcd (Key Value Store)
Namespace
Namespaces unterteilen ein Kubernetes-Cluster in isolierte logische Einheiten, sodass IT-Teams ihre Ressourcen besser organisieren können. Du kannst beliebig viele Namespaces erstellen. IT-Teams nutzen sie, um Entwicklungs-, Test- und Produktionsumgebungen logisch voneinander zu trennen, Vorgaben zur Ressourcennutzung zu machen oder Verantwortlichkeiten abzubilden.
ConfigMap und Secret
In ConfigMaps und Secrets kann die Anwendungs-Konfiguration für einen Service gespeichert werden, beispielsweise Datenbank-Passwörter oder E-Mail-Einstellungen. Diese Konfiguration kann einem Container dann entweder als Umgebungsvariable oder über ein Volume zur Verfügung gestellt werden.
ConfigMaps speichern:
- Konfigurationswerte
- Umgebungsvariablen
- Feature-Flags
Deployment
Ein Deployment ist wie eine schriftliche Arbeitsanweisung für Kubernetes. Es beschreibt wie viele Pods derselben Anwendung laufen sollen, welche Container Version und wie Updates durchgeführt werden. Besonders praktisch ist, dass Deployments das Skalieren und Aktualisieren der Pods übernehmen können. Dabei werden auch Rolling-Updates mit verschiedenen Strategien unterstützt. Dadurch sind sogenannte Zero-Downtime-Deployments möglich, bei denen Anwendungen kontinuierlich und ohne Unterbrechung während des Betriebs aktualisiert werden können.
Warum Deployments so mächtig sind:
- Rolling Releases ohne Downtime
- Automatisches Rollback bei Fehlern
- Volle Kontrolle ohne manuelle Eingriffe
StatefulSet
Ein StatefulSet erlaubt es, mehrere Instanzen eines Pods in einer festgelegten Reihenfolge zu starten. So kann beispielsweise sichergestellt werden, dass ein primärer Datenbank-Server immer vor seinen sekundären Replikas gestartet wird.
Services
Services haben eine statische IP-Adresse. Jeder Pod, der erreichbar sein soll, hat somit im Normalfall einen zugeordneten Service. Services unterstützen außerdem Load Balancing, wodurch der Zugriff auf Pods vereinfacht wird, selbst wenn es mehrere Replikate davon gibt. Je nach verwendetem Typ können Services nur intern im Cluster oder auch von extern erreichbar sein.
Warum Services unverzichtbar sind:
Pods ändern sich ständig: IP-Adresse, Standort, Anzahl
Ohne Service:
Chaos für jede Anwendung, die kommunizieren will
Job
Ein Job startet einen oder mehrere Pods und führt diese aus. Sobald die angegebene Anzahl von Pods erfolgreich ausgeführt wurde, ist der Job abgeschlossen. CronJobs bauen auf Jobs auf und ermöglichen die geplante, wiederkehrende Ausführung von Pods.
etcd
etcd ist der primäre Datenspeicher von Kubernetes. Es enthält alle Konfigurationsdateien und Informationen über den Zustand eines bestimmten Clusters und speichert und repliziert alle Clusterzustände. Sie können etcd entweder als Pods auf den Nodes des Controlplanes oder als externes Cluster bereitstellen.
Docker-Image
Ein Docker-Image enthält den kompletten Code einer Anwendung sowie deren Abhängigkeiten, z. B. einen Webserver oder eine Laufzeitumgebung. Ausgenommen ist die Konfiguration des Services, da diese vom Environment abhängig ist.
GitOps
GitOps ist ein Kubernetes-zentrisches Paradigma für Entwickler und IT-Administratoren. Es verwendet Git als Single Source of Truth, um den gewünschten Zustand von Clustern und Anwendungen zu definieren. Es erfordert die Nutzung von Git, um Infrastruktur und Software bereitzustellen.
Helm-Charts
Helm-Charts sind, einfach ausgedrückt, eine Sammlung von YAML-Dateien mit unterschiedlichen Ressourcen, die für das Deployment einer Anwendung notwendig sind. Über die Jahre hat sich Helm als de facto „Paketmanager“ für Kubernetes etabliert.
Kubelet
Der Kubelet ist ein Agent, der die Pods auf jedem Kubernetes-Node verwaltet. Er registriert seinen Node beim API-Server und stellt sicher, dass alle Container in einem Pod fehlerfrei laufen. Er berichtet der Control Plane vom Zustand seines Hosts und kommuniziert laufend mit dem Kubernetes API-Server.
Kube-Proxy
Kube-Proxy stellt Netzwerkdienste für die Kubernetes-Umgebung bereit. Er verarbeitet die Netzwerkkommunikation sowohl innerhalb eines Clusters als auch zwischen dem Cluster und der Außenwelt. Dazu verwaltet er Netzwerkregeln auf Knoten via nftables.
Kubernetes Scheduler
Er verteilt Kopien von Pods auf verschiedene Knoten, um die Verfügbarkeit zu erhöhen. Hierbei folgt er den definierten Anforderungen an Ressourcen und Bedingungen zur Verteilung der Anwendung innerhalb des Clusters.
Ingress
Ingress ist ein erweiterter Service für HTTP/HTTPS. Er ermöglicht es, Anfragen aufgrund von Request-Informationen an bestimmte Services weiterzuleiten.
Ingress regelt:
- Externen Zugriff
- Routing nach Domain oder Pfad
- TLS/HTTPS
Ingress-Ressource
Veröffentlicht einen Service über eine öffentliche URL. Aufgrund des Ingresses wird ein Ingress Controller (z. B. Traefik) automatisch so konfiguriert, dass eingehender Traffic von außen korrekt zum Service und so auch zu den Pods dieses Services verteilt wird.
Volumes
Kubernetes ermöglicht die Bereitstellung von Daten für Anwendungen in Pods durch Volumes. Die Daten können hierbei aus Secrets, ConfigMaps oder PersistentVolumes stammen.
Auch die Bereitstellung von nicht-persistentem Speicher, der bei Beendigung des Pods gelöscht wird, ist möglich.
Persistent Volume
Das Dateisystem eines Containers ist nicht persistent. Sobald ein Container neu gestartet wird, wird das bestehende Dateisystem gelöscht und ein neues aus dem Docker-Image erstellt. Um Daten also persistent und langfristig sicher zu speichern – beispielsweise für den Betrieb von Datenbanken – kann man in Kubernetes Persistent Volumes erstellen und diese in einen Container mounten.
Scaling
Kubernetes unterstützt horizontale Skalierung (mehr Instanzen) und vertikale Skalierung (mehr Ressourcen pro Instanz) für Pods und Nodes. In manchen Szenarien werden hierfür zusätzliche Controller benötigt.
Self-Healing
Kubernetes überwacht Pods, erkennt Fehler und ersetzt defekte Instanzen.
Fazit: Kubernetes Schritt für Schritt verstehen
Auf den ersten Blick wirkt Kubernetes umfangreich und komplex, vor allem wegen der Vielzahl an Begriffen und Konzepten. Genau hier setzt dieser Artikel an: Er zeigt, dass sich Kubernetes aus klar abgegrenzten Bausteinen zusammensetzt, die logisch miteinander verzahnt sind. Wer die grundlegenden Begriffe wie Pod, Container, Node, Deployment oder Service versteht, kann bereits sehr gut nachvollziehen, wie Anwendungen in Kubernetes bereitgestellt, betrieben und abgesichert werden.
Wichtig ist dabei: Für einen Einstieg in Kubernetes musst du nicht alle Konzepte im Detail beherrschen. Viele Themen wie Ingress, StatefulSets, GitOps oder Helm werden erst relevant, wenn Anwendungen wachsen oder komplexer werden. Ein solides Grundverständnis der Kernkomponenten reicht aus, um Gespräche mit Entwickler- oder DevOps-Teams zu führen, Entscheidungen besser einzuordnen und den Mehrwert von Kubernetes realistisch zu bewerten.
Kubernetes ist kein Hexenwerk, sondern ein mächtiges Automatisierungsframework, das Schritt für Schritt erlernt werden kann. Wer klein anfängt und die Grundlagen versteht, baut sich nach und nach das Wissen auf, das moderne, skalierbare und zuverlässige IT-Infrastrukturen ermöglicht.





0 Kommentare