Warum Kubernetes plötzlich verständlich wird

Stell dir vor, du bist Betriebsleiter einer deutschlandweiten Supermarktkette.

Nicht einer Filiale.

Der ganzen Kette.

Jeden Morgen öffnen hunderte Standorte ihre Türen. Kassierer beginnen ihre Schicht. Lieferungen treffen ein. Kühlanlagen laufen. Manche Filialen werden renoviert, andere erweitert.

Und trotzdem erwarten die Kunden etwas ganz Einfaches:

Sie wollen einkaufen.

Sie interessieren sich nicht dafür, welche Kassiererin heute an Kasse 4 sitzt.

Sie interessieren sich nicht dafür, welches Kühlhaus gerade gewartet wird.

Sie wollen einfach nur, dass die Milch im Regal steht und die Kasse funktioniert.

Genau dieses Problem löst Kubernetes.

Kubernetes startet nicht einfach Container.

Kubernetes organisiert eine riesige verteilte Infrastruktur so, dass Anwendungen zuverlässig laufen – selbst wenn einzelne Maschinen ausfallen, Container verschwinden oder neue Versionen ausgerollt werden.

Als ich Kubernetes zum ersten Mal lernte, fühlte es sich an wie das Organigramm eines Unternehmens, dessen Gebäude ich noch nie betreten hatte.

API Server.

Scheduler.

Kubelet.

Deployment.

Ingress.

Jeder Begriff war verständlich.

Aber zusammen ergaben sie noch kein Bild.

Die folgende Analogie hat das für mich verändert:

Kubernetes ist eine deutschlandweite Supermarktkette.

Sobald dieses Bild sitzt, werden viele Kubernetes-Komponenten erstaunlich intuitiv.


Die gesamte Kette: Der Cluster

Ein Kubernetes-Cluster ist die komplette Supermarktkette.

Alle Filialen.

Alle Mitarbeiter.

Alle Lagerhäuser.

Alle Regeln.

Alle Prozesse.

Wenn jemand von einem Produktions-Cluster spricht, meint er nicht einen einzelnen Server.

Er meint die gesamte Betriebsumgebung.

Eine wichtige Denkweise für Einsteiger:

Wenn etwas nicht funktioniert, frage zuerst:

  • Ist das Problem in einer Filiale?
  • Ist das Problem in der Zentrale?
  • Oder ist die Verbindung zwischen beiden gestört?

Diese Frage löst erstaunlich viele Kubernetes-Probleme.


Die Unternehmenszentrale: Die Control Plane

Jede große Supermarktkette besitzt eine Zentrale.

Dort wird nicht kassiert.

Dort werden keine Regale eingeräumt.

Dort wird entschieden.

Die Zentrale bestimmt:

  • welche Filialen existieren
  • welche Regeln gelten
  • wer Änderungen durchführen darf
  • wie viele Mitarbeiter benötigt werden

Die Kubernetes-Control-Plane erfüllt genau diese Aufgabe.

Sie ist das Gehirn des Clusters.

Sie führt die Arbeit nicht selbst aus.

Sie entscheidet lediglich, wie die Arbeit aussehen soll.


Der API Server: Die zentrale Schaltstelle

Jede Nachricht in der Supermarktkette läuft über die Zentrale.

Filialen melden Probleme.

Manager melden Statusberichte.

Neue Anweisungen werden verteilt.

Genau das ist der API Server.

Er ist die wichtigste Kommunikationsschnittstelle des gesamten Clusters.

Wenn du einen Befehl ausführst:

kubectl get pods

sprichst du nicht direkt mit den Pods.

Du sprichst mit dem API Server.

Der API Server ist die gemeinsame Wahrheit des Clusters.

Fast jede Komponente kommuniziert über ihn.


etcd: Das Hauptbuch

Jede Unternehmenszentrale benötigt ein Hauptbuch.

Darin steht:

  • welche Filialen existieren
  • welche Regeln gelten
  • welche Teams eingesetzt werden sollen
  • welche Änderungen vorgenommen wurden

In Kubernetes heißt dieses Hauptbuch:

etcd

Wenn dort steht:

“Die Anwendung soll mit vier Instanzen laufen”

dann betrachten alle anderen Komponenten diese Information als Wahrheit.

Verlierst du etcd, verlierst du das Gedächtnis des Clusters.

Deshalb gilt:

Der API Server ist die Schaltstelle.

etcd ist das Gedächtnis.


Der Scheduler: Die Logistikabteilung

Stell dir vor, die Zentrale beschließt:

“Wir brauchen eine weitere Kasse.”

Die Frage lautet nun:

In welcher Filiale?

Die Logistik beginnt zu prüfen:

  • Wo ist noch Platz?
  • Wo gibt es genug Personal?
  • Welche Filiale besitzt die benötigte Ausstattung?
  • Welche Vorgaben müssen erfüllt werden?

Erst danach wird die neue Arbeit einer Filiale zugewiesen.

Genau das macht der Kubernetes Scheduler.

Er startet keine Container.

Er entscheidet lediglich:

“Dieser Pod soll auf diesem Node laufen.”


Nodes: Die Filialen

Ein Node ist eine einzelne Filiale.

Eine echte Betriebsstätte.

Mit Strom.

Mit Netzwerk.

Mit Ressourcen.

Mit Grenzen.

Eine Filiale kann nicht unendlich viele Kassen betreiben.

Genauso besitzt ein Node nur begrenzte CPU- und Memory-Kapazität.


Kubelet: Die Filialleitung

Jede Filiale benötigt jemanden, der die Anweisungen der Zentrale umsetzt.

Das ist das Kubelet.

Wenn die Zentrale sagt:

“Starte drei neue Kassen.”

dann sorgt das Kubelet dafür, dass genau das passiert.

Es überprüft:

  • laufen die Container?
  • sind sie gesund?
  • müssen sie neu gestartet werden?

Das Kubelet ist die lokale Filialleitung.


Pods: Die Kassenteams

Ein Pod entspricht einem Team, das an einer Kasse arbeitet.

Wichtig:

Kassenteams sind austauschbar.

Heute arbeitet Team A.

Morgen Team B.

Für den Kunden spielt das keine Rolle.

Genauso sind Pods vergänglich.

Pods kommen und gehen.

Kubernetes erwartet sogar, dass sie irgendwann ersetzt werden.


Deployments: Die Personalvorgabe

Ein Filialleiter möchte nicht jede Schicht manuell planen.

Er möchte sagen:

“Es sollen immer drei Kassen geöffnet sein.”

Das ist ein Deployment.

Ein Deployment beschreibt den gewünschten Zustand.

Zum Beispiel:

  • welches Container-Image laufen soll
  • wie viele Replikate existieren sollen
  • wie Updates durchgeführt werden

Merksatz:

  • Deployment = Personalvorgabe
  • ReplicaSet = Dienstplan
  • Pod = echtes Team auf der Fläche

Services: Die stabile Durchwahl

Ein Kunde möchte nicht wissen, welcher Mitarbeiter gerade arbeitet.

Er möchte einfach Kasse 4 finden.

Genau das macht ein Service.

Ein Service stellt einen stabilen Namen bereit.

Auch wenn dahinter ständig Pods ausgetauscht werden.

Für den Benutzer bleibt die Adresse gleich.

Für Kubernetes dürfen sich die Pods jederzeit ändern.


Ingress: Der Haupteingang

Der Service regelt den Verkehr innerhalb der Kette.

Der Ingress regelt Besucher von außen.

Er entscheidet beispielsweise:

  • shop.example.com → Webshop
  • api.example.com → API
  • admin.example.com → Admin-Bereich

Der Ingress ist das Eingangsschild des Einkaufszentrums.


ConfigMaps und Secrets

Nicht alles gehört in den Container.

Eine ConfigMap ist das schwarze Brett.

Dort hängen:

  • Öffnungszeiten
  • Konfigurationen
  • Feature Flags

Ein Secret ist der Tresor.

Dort liegen:

  • Passwörter
  • API Keys
  • Zertifikate

Ein schwarzes Brett ist kein Tresor.

Eine ConfigMap ist kein Secret.


Namespaces: Die Abteilungen

Große Unternehmen besitzen Abteilungen.

Produktion.

Marketing.

Buchhaltung.

Ähnlich funktionieren Namespaces.

Sie helfen dabei, Ressourcen logisch voneinander zu trennen.


Labels und Selectors: Die Namensschilder

Jeder Mitarbeiter trägt ein Namensschild.

Beispielsweise:

app: checkout
tier: frontend
env: production

Services und Deployments suchen anhand dieser Kennzeichnungen.

Viele Beziehungen in Kubernetes basieren auf Labels.

Nicht auf festen Namen.


Probes: Ist die Kasse wirklich einsatzbereit?

Eine Kasse kann eingeschaltet sein.

Und trotzdem nicht funktionieren.

Deshalb unterscheidet Kubernetes:

  • Startup Probe
  • Readiness Probe
  • Liveness Probe

Einfach gesagt:

  • Startup → Noch im Aufbau
  • Readiness → Bereit für Kunden
  • Liveness → Muss ersetzt werden?

Persistent Volumes: Das Lagerhaus

Mitarbeiter kommen und gehen.

Das Lager bleibt.

Pods verschwinden.

Daten sollen bleiben.

Persistent Volumes sind das Lagerhaus der Supermarktkette.


RBAC und Network Policies

RBAC beantwortet:

Wer darf welche Tür öffnen?

Network Policies beantworten:

Wer darf mit wem sprechen?

Das eine regelt Berechtigungen.

Das andere Netzwerkverkehr.


Events: Die Meldungen aus den Filialen

Wenn etwas schiefgeht, hinterlassen die Filialen Berichte.

In Kubernetes heißen diese Berichte:

Events.

Sehr oft liegt die erste brauchbare Fehlerursache genau dort.


Wo die Analogie endet

Jede Metapher hat Grenzen.

Pods sind deutlich kurzlebiger als echte Mitarbeiter.

Services sind keine Menschen.

Nodes können jederzeit ersetzt werden.

Und trotzdem erfüllt die Analogie ihren Zweck:

Sie liefert eine mentale Landkarte.


Abschluss

Kubernetes ist komplex, weil es ein komplexes Problem löst.

Viele Anwendungen.

Viele Maschinen.

Viele Ausfälle.

Viele Änderungen.

Die Supermarktkette ersetzt keine technische Expertise.

Aber sie gibt jedem Begriff einen Platz.

Die Zentrale.

Die Filiale.

Die Filialleitung.

Das Kassenteam.

Das schwarze Brett.

Der Tresor.

Der Haupteingang.

Sobald diese Bilder im Kopf existieren, werden die offiziellen Kubernetes-Begriffe deutlich leichter verständlich.

Dann fragt man nicht mehr:

“Was ist ein Kubelet?”

Sondern:

“Wer hätte dieses Problem in der Supermarktkette lösen sollen?”

Und genau dort beginnt echtes Kubernetes-Verständnis.