Programmierung · DevOps · Orchestrierung
Was ist Kubernetes?
Sobald eine App in einen Container gepackt ist, taucht ein neues Problem auf: Wer startet ihn, startet ihn neu, wenn er abstürzt, startet unter Last mehr Kopien und verbindet sie alle – über Dutzende von Maschinen? Das ist Orchestrierung, und Kubernetes ist das System, das die meisten Teams dafür nutzen. Dieser Leitfaden erklärt, was Kubernetes ist, welche Konzepte zählen, sein Bezug zu Docker und wann man es wirklich braucht.
Die kurze Definition
Kubernetes ist eine Open-Source-Plattform, um Container über eine Gruppe von Maschinen auszuführen und zu koordinieren. Sie beschreiben den gewünschten Zustand – „starte fünf Kopien dieser App, halte sie gesund, mache sie unter dieser Adresse erreichbar“ – und Kubernetes arbeitet kontinuierlich daran, dass die Realität dem entspricht: es platziert die Container auf den Maschinen, startet fehlgeschlagene neu, passt die Skalierung an und leitet den Verkehr zu ihnen. Man kürzt es oft mit K8s ab (K, acht Buchstaben, s).
Das Problem, das es löst
Einen Container von Hand zu starten ist einfach. Hunderte zuverlässig zu starten ist es nicht. Maschinen fallen aus, der Verkehr explodiert, neue Versionen müssen ohne Unterbrechung ausgerollt werden, und Container müssen sich finden und miteinander sprechen. Alles manuell zu machen ist fehleranfällig und schläft nie. Kubernetes macht daraus ein deklaratives System: Sie beschreiben, was Sie wollen, und die Kontrollschleife der Plattform setzt es unaufhörlich um – ersetzt einen abgestürzten Container oder plant die Arbeit von einer toten Maschine weg, ohne einen Ingenieur um 3 Uhr morgens zu wecken.

Die Schlüsselkonzepte
- Cluster – das gesamte System: eine Gruppe von Maschinen, die Kubernetes als Ganzes verwaltet. Es hat eine Control Plane (das Gehirn, das entscheidet) und Worker-Knoten (wo Ihre Container tatsächlich laufen).
- Knoten – eine einzelne Maschine (physisch oder virtuell) des Clusters, die Container ausführt.
- Pod – die kleinste Einheit, die Kubernetes ausführt: ein oder mehrere eng verbundene Container, die einen Speicher und eine Netzwerkadresse teilen. Man führt in der Regel viele identische Pods einer App aus.
- Deployment – eine Deklaration des gewünschten Zustands für Ihre Pods: welches Image, wie viele Repliken und wie Updates ausgerollt werden. Kubernetes richtet den realen Zustand danach aus.
- Service – eine stabile Netzwerkadresse und ein Load Balancer für eine Menge von Pods, damit andere Teile des Systems sie erreichen, selbst wenn einzelne Pods kommen und gehen.
Wie es kurz gesagt funktioniert
Sie reichen eine Beschreibung dessen ein, was Sie wollen – oft eine YAML-Datei, die ein Deployment und einen Service definiert. Die Control Plane erfasst diesen gewünschten Zustand und plant die Pods auf Knoten, die Platz haben. Eine Kontrollschleife vergleicht dann ständig den gewünschten und den realen Zustand: stirbt ein Pod oder fällt ein Knoten aus, bemerkt Kubernetes es und erstellt die fehlenden Pods anderswo neu. Die Skalierung folgt derselben Idee – setzen Sie „5 Repliken“ auf „20“ und der Scheduler füllt die Lücke. Dieses deklarative und selbstheilende Modell ist der Kern des Vertrauens, das man Kubernetes in der Produktion entgegenbringt.
Kubernetes vs. Docker
Sie ergänzen sich, sind keine Rivalen. Docker baut und führt einen einzelnen Container auf einer Maschine aus. Kubernetes orchestriert viele Container über viele Maschinen – es plant sie ein, skaliert sie, repariert sie und vernetzt sie. Docker packt und führt einen Container aus; Kubernetes verwaltet eine Flotte. Kubernetes führt Container aus, die nach den offenen Standards gebaut sind, die Docker populär gemacht hat: beide besetzen unterschiedliche Schichten desselben Stacks, statt zu konkurrieren.
Brauchen Sie es wirklich?
Ehrlich gesagt oft nicht – zumindest noch nicht. Kubernetes glänzt, wenn Sie viele Dienste betreiben, Hochverfügbarkeit brauchen und über das Team verfügen, um es zu betreiben. Für eine einzige App oder ein kleines Projekt ist es in der Regel überdimensioniert: ein einzelner Server, ein managed Container-Dienst oder eine Platform-as-a-Service wird einfacher und günstiger sein. Die Kosten von Kubernetes sind echte Komplexität – Netzwerk, Speicher, Sicherheit und Updates erfordern Expertise. Setzen Sie es ein, wenn die Skalierung den Mehraufwand rechtfertigt, nicht aus Modegründen.
Managed vs. selbst gehostet
Sie können Kubernetes selbst betreiben, aber die meisten Teams nutzen einen managed Dienst, bei dem ein Cloud-Anbieter die Control Plane für Sie betreibt, sodass Sie nur Ihre Workloads verwalten. Das nimmt einen großen Teil der operativen Last ab und ist die vernünftige Standardwahl für die meisten Projekte, die wirklich Orchestrierung brauchen.
Ein Ort, um Ihre Container auszuführen
Kubernetes (und Docker) brauchen Maschinen zum Laufen. Ein VPS oder Cloud-Server gibt Ihnen die volle Kontrolle über die Laufzeit, um Container, einen Cluster oder eine einfache App zu deployen. Infomaniak – ein Schweizer, datenschutzfreundlicher Anbieter – bietet VPS und Cloud-Server für genau das.
Infomaniak Cloud ansehen →Affiliate-Link – er unterstützt diese kostenlosen Leitfäden.
Container stellen in der Regel eine API bereit und sprechen über Protokolle wie gRPC oder REST miteinander. Stöbern Sie in weiteren klaren Erklärungen in unserem Leitfaden-Index.
Häufige Fragen
Was ist Kubernetes in einfachen Worten?
Kubernetes ist eine Software, die Container über eine Gruppe von Maschinen für Sie ausführt und verwaltet. Sie beschreiben den gewünschten Zustand – wie viele Kopien einer App auszuführen sind und wie man sie erreicht – und Kubernetes hält die Realität konform, indem es fehlgeschlagene Container neu startet, sie skaliert und den Verkehr automatisch leitet.
Was ist der Unterschied zwischen Docker und Kubernetes?
Docker baut und führt einen einzelnen Container auf einer Maschine aus. Kubernetes orchestriert viele Container über viele Maschinen – Planung, Skalierung, Neustart und Vernetzung. Docker verwaltet einen einzelnen Container; Kubernetes verwaltet eine Flotte. Sie ergänzen sich: Kubernetes führt Container aus, die nach den Standards gebaut sind, die Docker populär gemacht hat.
Was ist ein Pod in Kubernetes?
Ein Pod ist die kleinste Einheit, die Kubernetes ausführt: ein oder mehrere eng verbundene Container, die einen Speicher und eine Netzwerkadresse teilen. Anwendungen laufen in der Regel als viele identische Pods, die Kubernetes automatisch skalieren und ersetzen kann, wenn einer fehlschlägt.
Brauche ich Kubernetes für ein kleines Projekt?
In der Regel nicht. Kubernetes ist dafür ausgelegt, viele Dienste in großem Maßstab mit Hochverfügbarkeit auszuführen, und fügt echte operative Komplexität hinzu. Für eine einzige App oder ein kleines Projekt ist ein einzelner Server, ein managed Container-Dienst oder eine Platform-as-a-Service einfacher und günstiger.