Kubernetes

Fällt eine Maschine aus, startet die Anwendung woanders neu, ohne dass jemand eingreift. Kubernetes verspricht genau das und verlangt dafür einen Betriebsaufwand, den viele Vorhaben unterschätzen.
Ein Futuristisches Büro. Zwei Männer sitzen sich am Tisch gegenüber. Man sieht nur schemenhaft ihre Schatten. Sie arbeiten an einer IT-Wartung mit Kubernetes.
© AK528

Was Kubernetes ist

Kubernetes ist eine quelloffene Software, die Anwendungen in Containern über mehrere Maschinen verteilt und selbsttätig am Laufen hält. Ein Container bündelt dabei ein Programm mit allem, was es zur Ausführung braucht, sodass es überall gleich startet. Die Software entscheidet, auf welcher Maschine welcher Container läuft, startet ausgefallene neu und verteilt Anfragen darauf.

Der Fachbegriff dafür lautet Container-Orchestrierung. Beschrieben wird der Sollzustand, nicht der Weg dorthin. Wer festlegt, dass drei Kopien einer Anwendung laufen sollen, bekommt drei Kopien, und das System stellt diesen Zustand nach einem Ausfall selbst wieder her. Dieselbe Beschreibung gilt für ein Testsystem und für den Produktivbetrieb, was Unterschiede zwischen beiden Umgebungen verringert.

Aufbau in Kurzform

Die Grundeinheit ist der Pod, eine Hülle um einen oder wenige Container. Pods laufen auf Knoten, also auf physischen oder virtuellen Maschinen, und mehrere Knoten bilden einen Verbund. Eine Steuerungsebene vergleicht laufend Ist- und Sollzustand und greift ein, wenn beides auseinanderläuft. Innerhalb der IT-Infrastruktur tritt dieser Verbund an die Stelle einzeln verwalteter Server. Dienste bündeln Pods unter einer festen Adresse, damit andere Anwendungen sie erreichen, ohne zu wissen, wo genau sie gerade liegen. Adressen bleiben stabil, obwohl die Pods es nicht sind.

Wann sich der Einsatz lohnt

Der Nutzen wächst mit der Zahl der Bestandteile. Bei einer Anwendung aus zwanzig Diensten mit schwankender Last spart das System spürbar Handarbeit. Bei einer Anwendung auf einem Server erzeugt es vor allem Zusatzaufwand, denn zum Betrieb kommen Netzwerkschicht, Speicheranbindung, Zugriffsrechte, Zertifikate und regelmäßige Versionswechsel des Verbunds hinzu. Die Rechnung geht erst ab einer gewissen Größe auf.

Der Verbund selbst wird zur zweiten Anwendung, die jemand betreiben muss. Wo dieses Wissen im Haus fehlt, ist Managed Kubernetes der übliche Ausweg: Ein Anbieter betreibt die Steuerungsebene und die Aktualisierungen, während die eigenen Anwendungen darauf laufen.

Kubernetes für Behörden

Im öffentlichen Sektor spricht für den Ansatz, dass er quelloffen ist und sich im eigenen Rechenzentrum betreiben lässt, ohne Bindung an einen Anbieter. Dagegen steht der Personalbedarf, der sich in Vergabeverfahren schlecht abbilden lässt. Wie bei jeder Open-Source-Software entfallen Lizenzkosten, während Betriebs- und Wissenskosten bleiben. Ein Verbund ohne zuständiges Team ist deshalb kein Gewinn an Souveränität, sondern eine verschobene Abhängigkeit. Den laufenden Betrieb solcher Umgebungen beschreibt der Softwarebetrieb.

Aktuelle Themen