Schema eines Kubernetes-Clusters: links die Steuerzentrale (Control Plane) mit Scheduler und Abgleichsschleife, rechts mehrere Arbeitsrechner, auf denen Pods mit Containern liegen; Pfeile zeigen, wie ein ausgefallener Pod auf einem anderen Rechner neu gestartet wird.

Kubernetes

Kubernetes ist eine Software, die verpackte Programme automatisch auf viele Server verteilt, startet, überwacht und bei Bedarf vervielfacht. Sie ist heute der Standard, mit dem große Online-Dienste und KI-Anwendungen betrieben werden.

Große Internetdienste laufen nicht auf einem einzigen Computer, sondern auf hunderten oder tausenden Rechnern in einem Rechenzentrum. Jemand muss entscheiden, welches Programm auf welchem dieser Rechner läuft. Genau das übernimmt Kubernetes: eine Software, die Programme automatisch auf viele Rechner verteilt und dort am Laufen hält. Fällt ein Rechner aus, startet Kubernetes das betroffene Programm woanders neu. Steigt die Zahl der Nutzer, startet es zusätzliche Kopien des Programms. Man beschreibt also nur den Wunschzustand, und die Software sorgt dafür, dass die Wirklichkeit dazu passt.

Vom Server-Streicheln zur Fließbandarbeit

Früher war ein Server wie ein Haustier: Er hatte einen Namen, ein Mensch pflegte ihn, und wenn er krank wurde, hat man ihn mühsam kuriert. Bei tausenden Rechnern funktioniert das nicht mehr. Kubernetes behandelt Rechner wie austauschbare Teile. Kaputte Teile werden ersetzt, nicht repariert. Dadurch kann ein kleines Team eine sehr große Infrastruktur betreiben.

Der zweite Grund ist Geld. Rechenleistung im Rechenzentrum kostet pro Stunde, egal ob sie genutzt wird oder nicht. Kubernetes kann nachts Kapazität abbauen und zur Hauptzeit wieder aufbauen. Genau dieser Effekt macht die Technik für Firmen interessant, die stark schwankende Nutzerzahlen haben. Bei einem Onlineshop am Black Friday ist der Unterschied zwischen Normal- und Spitzenlast leicht das Zehnfache.

Für KI-Anwendungen kommt ein dritter Grund hinzu. Spezielle Rechenchips für KI, sogenannte GPUs, sind teuer und knapp. Kubernetes verteilt Rechenaufträge so auf diese Chips, dass möglichst wenig ungenutzt herumsteht. Deshalb steckt die Software heute in fast jedem größeren KI-Rechenzentrum.

Container, Pods und der Wunschzustand

Grundlage sind Container. Ein Container ist ein Programm samt allem, was es zum Laufen braucht, in ein einziges standardisiertes Paket gepackt. Man kann sich einen Schiffscontainer vorstellen: Der Kran interessiert sich nicht für den Inhalt, nur für die genormten Maße. So kann dasselbe Paket auf jedem Rechner starten, ohne dass jemand ihn vorbereitet. Kubernetes fasst einen oder wenige Container zu einer Einheit namens Pod zusammen und behandelt diese Einheit als kleinsten Baustein.

Der Betreiber schreibt dann eine Art Bestellzettel. Darin steht zum Beispiel: von diesem Pod sollen immer fünf Kopien laufen, jede darf höchstens ein Gigabyte Arbeitsspeicher belegen. Diesen Zettel schickt er an die Steuerzentrale des Systems, den Control Plane. Ein Bauteil namens Scheduler sucht für jeden Pod einen passenden Rechner mit freier Kapazität.

Danach läuft eine Endlosschleife. Kubernetes vergleicht ständig den bestellten Zustand mit dem tatsächlichen. Sind nur vier Kopien am Leben, startet es eine fünfte. Antwortet ein Pod nicht mehr auf Kontrollanfragen, wird er beendet und ersetzt. Dieses Prinzip heißt Abgleichsschleife und ist der Kern der ganzen Software.

Wo K8s in Cloud-Rechnungen und Stellenanzeigen auftaucht

Direkt sieht man Kubernetes als Nutzer nie. Indirekt benutzt man es fast täglich, denn Streamingdienste, Banking-Apps und Chatbots laufen typischerweise darauf. Ursprünglich entstand die Software bei Google und wurde 2014 als quelloffenes Projekt freigegeben. Heute pflegt eine Stiftung, die Cloud Native Computing Foundation, den Code, und niemandem gehört er allein.

In Nachrichten begegnet man dem Begriff meist verkürzt als K8s und im Zusammenhang mit Cloud-Anbietern. Amazon, Microsoft und Google verkaufen alle fertige Kubernetes-Dienste, bei denen der Kunde sich nicht um die Steuerzentrale kümmern muss. Für Firmen ist das ein Argument gegen die Bindung an einen einzigen Anbieter: Dieselben Container laufen prinzipiell überall. In Stellenanzeigen steht der Begriff fast immer dort, wo DevOps oder Platform Engineering gesucht wird.

Ein häufiger Irrtum ist, Kubernetes sei dasselbe wie Docker. Docker ist vor allem das Werkzeug, mit dem Container gebaut und einzeln gestartet werden. Kubernetes verwaltet sehr viele solcher Container über viele Rechner hinweg. Ein zweiter Irrtum: Die Software lohnt sich nicht immer. Für eine kleine Website ist der Aufwand deutlich größer als der Nutzen.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.