Kubernetes
Kubernetes ist eine ursprünglich von Google entwickelte, heute unter der Cloud Native Computing Foundation weitergeführte Open-Source-Plattform zur automatisierten Orchestrierung, Skalierung und Verwaltung von containerisierten Anwendungen über mehrere Server hinweg.
Kurz erklärt
Sobald eine Anwendung aus vielen einzelnen Containern besteht, die über zahlreiche Server verteilt laufen, wird die manuelle Verwaltung schnell unpraktikabel: Container müssen bei Ausfällen neu gestartet, bei steigender Last automatisch vervielfacht und bei Updates ohne Ausfallzeit ausgetauscht werden. Kubernetes übernimmt genau diese Aufgaben automatisiert - basierend auf einer deklarativen Konfiguration, die beschreibt, welcher Zustand angestrebt werden soll, statt einzelne Schritte manuell auszuführen.
Beispiel
Fällt ein Server in einem Kubernetes-Cluster aus, erkennt Kubernetes automatisch, dass die darauf laufenden Container fehlen, und startet sie auf einem anderen verfügbaren Server neu - ohne dass ein Mensch eingreifen muss. Steigt gleichzeitig die Nutzerlast stark an, kann Kubernetes automatisch zusätzliche Container-Instanzen starten, um die Last zu verteilen.
Warum ist das relevant?
Kubernetes ist zum De-facto-Standard für den Betrieb containerisierter Anwendungen im großen Maßstab geworden und wird von praktisch allen großen Cloud-Anbietern als verwalteter Dienst angeboten. Für Unternehmen bedeutet das höhere Ausfallsicherheit, automatische Skalierung bei Lastspitzen und eine einheitliche Betriebsweise über verschiedene Cloud-Umgebungen hinweg.
Häufige Missverständnisse
Kubernetes ist kein Ersatz für Docker, sondern setzt auf Container-Technologien wie Docker auf und orchestriert sie. Auch ist Kubernetes für kleine, einfache Anwendungen häufig überdimensioniert - der Betriebsaufwand und die Lernkurve sind erheblich, weshalb es sich vor allem für Systeme mit echtem Bedarf an Skalierung und Ausfallsicherheit lohnt.