Kubernetes ist ein System, das Container über viele Server verteilt, startet und am Laufen hält. Es nimmt eine beschriebene Soll-Lage entgegen und sorgt dafür, dass der Ist-Zustand ihr entspricht.
- Kubernetes
Ein System, das Container über viele Server verteilt, startet und am Laufen hält.
Beispiel: „Kubernetes startete den abgestürzten Container neu, bevor jemand den Ausfall bemerkte.“Kurz K8s, mit acht Buchstaben zwischen K und s. Der Name kommt aus dem Griechischen und bedeutet Steuermann; das Projekt stammt von Google und ist seit 2014 offen.
Abgrenzung zu Docker: Dieses baut und startet einzelne Container. Kubernetes betreibt sie zu Hunderten über mehrere Maschinen.
Was Kubernetes übernimmt
Vier Aufgaben. Es sucht für jeden Container eine Maschine mit Platz, startet ihn bei einem Absturz neu, verteilt den Verkehr auf die laufenden Kopien und ersetzt beim Ausrollen die alten Kopien schrittweise durch neue.
Beschrieben wird das in Textdateien: so viele Kopien, so viel Speicher, diese Fassung des Abbilds. Wer eine Zahl ändert, ändert den Betrieb, siehe Infrastructure as Code.
Was Kubernetes voraussetzt
Container, die sich wegwerfen lassen. Eine Anwendung, die Dateien lokal ablegt oder Sitzungen im Arbeitsspeicher hält, verliert beides, sobald eine Kopie ersetzt wird; Speicher und Sitzungen gehören deshalb nach außen.
Dazu kommt das Wissen im Team. Netzwerke, Rechte, Speicherklassen und Zertifikate sind eigene Themen, und ein halb verstandenes Kubernetes ist schwerer zu betreiben als ein gemieteter Server.
Wann Kubernetes für eine Website zu groß ist
Fast immer. Eine Website mit einem Server, einer Datenbank und gleichmäßigem Verkehr gewinnt nichts durch einen Verbund, der selbst Pflege braucht; der Aufwand steht gegen einen Nutzen, der nie eintritt.
Sinnvoll wird es bei vielen Diensten, stark schwankender Last oder der Vorgabe, dass ein Ausfall einer Maschine niemandem auffallen darf. Dann rechnet sich der Unterbau, siehe High Availability.