Wenn eine Webanwendung plötzlich deutlich mehr Anfragen bekommt oder ein einzelner Server ausfällt, reicht manuelles Eingreifen oft nicht mehr aus. Kubernetes hilft dabei, containerisierte Anwendungen zuverlässig bereitzustellen, zu skalieren und zu überwachen. Ich zeige Ihnen, wie die Plattform funktioniert, welche Bausteine wichtig sind, wann sich der Einsatz lohnt und wo Kubernetes mehr Aufwand verursacht als Nutzen bringt.
Kubernetes automatisiert den Betrieb moderner Anwendungen
- Open Source: Kubernetes verwaltet containerisierte Anwendungen unabhängig von Cloud, Betriebssystem und Infrastruktur.
- Automatischer Soll-Zustand: Die Plattform startet ausgefallene Container neu und hält die gewünschte Anzahl laufender Instanzen ein.
- Skalierung: Anwendungen können manuell oder anhand von Auslastung automatisch vergrößert und verkleinert werden.
- Cluster: Ein Kubernetes-Cluster besteht aus einer Steuerungsebene und mindestens einem oder mehreren Arbeitsknoten.
- Kein Selbstläufer: Monitoring, Sicherheit, Datenbanken und eine saubere Konfiguration bleiben wichtige Aufgaben des Teams.
Was ist Kubernetes und wofür wird es eingesetzt?
Kubernetes ist eine Open-Source-Plattform zur Verwaltung containerisierter Anwendungen. Sie bündelt Container zu logischen Einheiten und sorgt dafür, dass diese auf verfügbaren Servern gestartet, verbunden, aktualisiert und bei Bedarf ersetzt werden.
Ein Container enthält eine Anwendung mitsamt ihren Bibliotheken und Einstellungen. Dadurch läuft sie in Entwicklung, Test und Produktion vergleichbarer. Kubernetes übernimmt anschließend die übergeordnete Verwaltung, etwa die Verteilung auf Server, die Bereitstellung neuer Versionen oder das automatische Nachstarten nach einem Fehler.
Die Plattform wird häufig mit K8s abgekürzt. Die Abkürzung steht für das K, die acht ausgelassenen Buchstaben und das s. Nach Angaben der offiziellen Kubernetes-Dokumentation wurde das Projekt 2014 von Google als Open-Source-Projekt veröffentlicht.
In der Praxis kommt Kubernetes vor allem bei Microservices, APIs, Webshops, SaaS-Anwendungen und datenintensiven Plattformen zum Einsatz. Für eine kleine Website auf einem einzelnen Webserver ist es dagegen oft überdimensioniert.
Wie ein Kubernetes-Cluster aufgebaut ist
Der Begriff Cluster bezeichnet die Gesamtheit der Maschinen, auf denen Kubernetes läuft. Diese Maschinen können physische Server oder virtuelle Maschinen in einem Rechenzentrum beziehungsweise bei einem Cloud-Anbieter sein.

Control Plane und Worker Nodes
Die Control Plane trifft die zentralen Entscheidungen. Sie kennt den gewünschten Zustand des Systems und vergleicht ihn laufend mit dem tatsächlichen Zustand. Fehlt beispielsweise eine von drei gewünschten Anwendungsinstanzen, veranlasst Kubernetes den Start einer weiteren.
Die Worker Nodes führen die eigentlichen Anwendungen aus. Auf ihnen laufen die Pods, also die kleinsten bereitstellbaren Einheiten in Kubernetes. Ein Pod enthält meist einen Container, kann aber auch mehrere eng verbundene Container umfassen.
| Baustein | Aufgabe |
|---|---|
| API-Server | Stellt die zentrale Schnittstelle für Befehle und Konfigurationen bereit. |
| etcd | Speichert den Zustand und die Konfiguration des Clusters. |
| Scheduler | Entscheidet, auf welchem Worker Node ein Pod ausgeführt wird. |
| Controller | Bringen den tatsächlichen Zustand fortlaufend zum gewünschten Zustand. |
| kubelet | Überwacht auf jedem Node die dort laufenden Pods. |
| Container Runtime | Startet und verwaltet die Container, zum Beispiel mit containerd oder CRI-O. |
Die wichtigsten Kubernetes-Ressourcen
Ein Deployment beschreibt, welche Anwendung in welcher Version und mit wie vielen Instanzen laufen soll. Ein Service stellt eine stabile interne Adresse bereit, auch wenn einzelne Pods neu erstellt und dadurch ihre eigene Netzwerkadresse ändern.
Für externen Zugriff wird häufig ein Ingress eingesetzt. Er verbindet Domains und URL-Pfade mit den passenden Services. Persistente Daten werden über Volumes eingebunden, denn ein Container-Dateisystem allein ist nicht für wichtige Daten ausgelegt.
Was Kubernetes im Hosting und DevOps automatisiert
Der größte Nutzen entsteht nicht durch das bloße Starten von Containern. Entscheidend ist, dass Kubernetes viele wiederkehrende Betriebsaufgaben anhand einer deklarativen Konfiguration erledigt. Sie beschreiben, wie der Zielzustand aussehen soll, und die Plattform versucht, diesen Zustand dauerhaft herzustellen.
Bereitstellung und Updates
Neue Versionen lassen sich schrittweise ausrollen. Kubernetes kann zunächst nur einen Teil der Pods mit dem neuen Image starten. Treten Fehler auf, wird der Rollout angehalten oder auf eine frühere Version zurückgesetzt. Das reduziert das Risiko, eine Anwendung mit einem einzigen Schritt vollständig zu unterbrechen.
Skalierung und Lastverteilung
Benötigt ein Dienst mehr Kapazität, kann die Zahl seiner Pods erhöht werden. Mit dem Horizontal Pod Autoscaler lässt sich die Anzahl abhängig von Messwerten wie CPU-Auslastung oder benutzerdefinierten Metriken anpassen.
Das ist besonders bei stark schwankendem Traffic nützlich. Eine automatische Skalierung löst allerdings keine schlecht optimierte Anwendung. Wenn Datenbankabfragen, externe APIs oder Speicherzugriffe bremsen, bringen zusätzliche Pods allein wenig.
Selbstheilung und Verfügbarkeit
Antwortet ein Container nicht mehr auf seine Health Checks, kann Kubernetes ihn neu starten. Fällt ein Node aus, werden Pods abhängig von der Cluster-Konfiguration auf andere Nodes verteilt. Für eine wirklich hohe Verfügbarkeit braucht es jedoch mehrere geeignete Nodes, redundante Komponenten und getestete Wiederherstellungsverfahren.
Lesen Sie auch: Website umziehen ohne Ausfälle - der sichere Migrationsplan
Observability und Betrieb
Kubernetes liefert wichtige Zustandsinformationen, ersetzt aber kein vollständiges Monitoring. Für einen belastbaren Betrieb brauchen Teams Metriken, Logs und Traces. Typische Werkzeuge sind Prometheus für Metriken, Grafana für Dashboards und eine zentrale Logplattform für die Fehlersuche.
Meine Erfahrung mit Kubernetes-Projekten zeigt immer wieder, dass nicht der erste Deployment-Befehl die Schwierigkeit darstellt. Die echte Arbeit beginnt bei Alarmen, Berechtigungen, Backups, Netzwerkregeln und der Frage, wer im Fehlerfall verantwortlich handelt.
Kubernetes, Docker und virtuelle Maschinen im Vergleich
Die Begriffe werden häufig vermischt, beschreiben aber unterschiedliche Ebenen. Docker beziehungsweise eine andere Container Runtime führt Container aus. Kubernetes verwaltet viele solcher Container über mehrere Maschinen hinweg.
| Technologie | Typische Aufgabe | Geeignet für |
|---|---|---|
| Virtuelle Maschine | Virtualisiert ein vollständiges Betriebssystem. | Stark isolierte Systeme, klassische Server und unterschiedliche Betriebssysteme. |
| Docker oder containerd | Erstellt und startet einzelne Container. | Lokale Entwicklung, einfache Deployments und einzelne Dienste. |
| Kubernetes | Verteilt, überwacht und skaliert Container in einem Cluster. | Komplexe Anwendungen, viele Services und dynamische Produktionsumgebungen. |
Kubernetes ersetzt also weder Container Images noch die darunterliegende Infrastruktur. Es arbeitet auf einer höheren Ebene und koordiniert die Ausführung. Die offizielle Dokumentation weist außerdem darauf hin, dass Kubernetes kein vollständiges Platform-as-a-Service-Angebot ist. Datenbanken, Logging, Monitoring und viele Sicherheitsfunktionen müssen ergänzt oder integriert werden.
Wann sich Kubernetes lohnt und wann nicht
Kubernetes ist sinnvoll, wenn mehrere Anwendungen oder Services zuverlässig betrieben werden müssen und sich deren Ressourcenbedarf regelmäßig verändert. Auch Teams mit einer ausgeprägten CI/CD-Pipeline profitieren, weil Deployments, Rollbacks und Umgebungen standardisierter ablaufen können.
- Gute Voraussetzungen sind mehrere Services, wiederkehrende Releases, schwankende Last und ein Team mit DevOps- oder Platform-Engineering-Erfahrung.
- Weniger sinnvoll ist Kubernetes für eine einfache Unternehmenswebsite, einen kleinen Blog oder eine einzelne Anwendung mit konstantem Traffic.
- Managed Kubernetes reduziert den Aufwand für die Control Plane, nimmt Ihnen aber nicht automatisch Anwendungssicherheit, Kostenkontrolle oder Monitoring ab.
- Self-Managed Kubernetes bietet mehr Kontrolle, verlangt jedoch Kenntnisse zu Upgrades, Zertifikaten, Netzwerken, Backups und Cluster-Sicherheit.
Kubernetes selbst ist kostenlos verfügbar. Die tatsächlichen Kosten entstehen durch Rechenleistung, Speicher, Netzwerkverkehr, Managed Services und den laufenden Betrieb. Bei einem produktiven Cluster ist der Personalaufwand oft der größere Kostenfaktor als die Softwarelizenz.
Ich rate deshalb dazu, zuerst die Betriebsanforderung zu klären. Wenn ein einzelner Dienst mit einem einfachen Deployment zuverlässig läuft, bringt der Wechsel auf Kubernetes nicht automatisch mehr Qualität. Komplexität ist nur dann gerechtfertigt, wenn sie ein konkretes Problem löst.
Wie der Einstieg in Kubernetes gelingt
Der beste Einstieg beginnt mit einer kleinen, überschaubaren Anwendung. Ein lokaler Cluster mit kind, Minikube oder Docker Desktop reicht aus, um Pods, Deployments, Services und Konfigurationsdateien kennenzulernen.
- Anwendung containerisieren: Erstellen Sie ein reproduzierbares Container Image mit klar definierten Umgebungsvariablen.
- Deployment beschreiben: Legen Sie Image, Ressourcenlimits, Replikate und Health Checks in einer YAML-Datei fest.
- Service ergänzen: Geben Sie dem Dienst eine stabile interne Erreichbarkeit.
- Logs und Metriken prüfen: Testen Sie nicht nur den erfolgreichen Start, sondern auch Fehler, Neustarts und hohe Last.
- Erst danach produktiv gehen: Regeln Sie Backups, Zugriffsrechte, Secrets, Updates und Notfallwiederherstellung.
Besonders wichtig sind Requests und Limits. Requests helfen dem Scheduler bei der Platzierung eines Pods, während Limits verhindern, dass ein Prozess unbegrenzt Ressourcen verbraucht. Fehlen diese Angaben, kann ein Cluster unter Last schwer vorhersehbar reagieren.
Secrets sollten nicht unverschlüsselt in Git-Repositories liegen. Für sensible Zugangsdaten benötigen Sie ein geeignetes Secret Management, restriktive Rollen und regelmäßige Prüfungen der Berechtigungen.
Die Kubernetes-Entscheidung sollte zum Team passen
Kubernetes ist eine leistungsfähige Grundlage für moderne Hosting- und DevOps-Prozesse. Es schafft reproduzierbare Deployments, automatische Wiederherstellung und flexible Skalierung, verlangt dafür aber klare Betriebsprozesse und technisches Know-how.
Meine praktische Empfehlung lautet, Kubernetes nicht wegen seiner Bekanntheit einzuführen. Prüfen Sie zuerst, ob häufige Releases, mehrere Services, wechselnde Last oder hohe Verfügbarkeitsanforderungen den zusätzlichen Aufwand rechtfertigen. Wenn diese Bedingungen erfüllt sind, kann Kubernetes aus vielen einzelnen Serveraufgaben einen kontrollierbaren und automatisierbaren Plattformbetrieb machen.