Kubernetes – der Steuermann im Container-Meer

Was ist Kubernetes?

Kubernetes - kurz K8s - ist eine Open-Source-Plattform, die Container-Anwendungen steuert und koordiniert. Sie übernimmt Aufgaben wie das automatische Bereitstellen, Verwalten, Skalieren und Überwachen, sodass Anwendungen stabil und effizient laufen.

Grafische Collage des Kubernetes Bildlogos mit Code im Hintergrund

Bildlich erklärt: Stell dir Kubernetes als Kapitän vor – daher auch der Name, der aus dem Griechischen „Steuermann“ bedeutet. Der Kapitän (Kubernetes) sorgt dafür, dass alle Container-Schiffe (Anwendungen in Containern) sicher und effizient auf dem Meer (IT-Infrastruktur) unterwegs sind. Fällt ein Schiff aus, schickt der Steuermann sofort Ersatz los. Er entscheidet auch, wo welches Schiff am besten platziert wird, damit das ganze System stabil und leistungsfähig bleibt.

Info-Grafik: Kernfunktionen von Kubernetes: Verwaltung, Skalierung, Bereitstellung, Überwachung
Kernfunktionen von Kubernetes

Kubernetes schafft also Ordnung im Container-Chaos. Pods sind die kleinste Einheit und enthalten einen oder mehrere Container, in denen die Anwendungen inklusive Code, Bibliotheken und Einstellungen laufen. Pods befinden sich auf Nodes – den Servern oder Computern. Mehrere Nodes bilden ein Cluster, das Kubernetes verwaltet. Der Scheduler verteilt die Pods, der Controller hält sie am Laufen und startet bei Ausfällen neue. Über Services werden die Anwendungen nach außen erreichbar gemacht – wie über ein Telefonbuch.

Kernideen von Kubernetes

Die folgenden Buttons wechseln die Darstellung der darunter folgenden Grafik zu einer Text-Alternative

Bild anzeigen
Text anzeigen
Infografik "Kernidee von Kubernetes": Pods sind die kleinste Einheit und enthalten einen oder mehrere Container, in denen die Anwendungen inklusive Code, Bibliotheken und Einstellungen laufen. Pods befinden sich auf Nodes – den Servern oder Computern. Mehrere Nodes bilden ein Cluster, das Kubernetes verwaltet. Der Scheduler verteilt die Pods, der Controller hält sie am Laufen und startet bei Ausfällen neue. Über Services werden die Anwendungen nach außen erreichbar gemacht – wie über ein Telefonbuch.
Kernidee von Kubernetes

Die Infografik zeigt die Kernideen von Kubernetes anhand eines Clusters mit drei Nodes. Jeder Node enthält wiederum mehrere Pods, die als kleine Kästchen dargestellt sind.

Links außerhalb des Clusters wird der Scheduler erläutert, der Pods automatisch auf die verfügbaren Nodes verteilt.


 

Rechts wird der Controller beschrieben, der ausgefallene Pods erkennt und neu startet.

Unten erklärt ein Hinweis den Service, der als „Telefonbuch für Apps“ fungiert und sicherstellt, dass Pods erreichbar bleiben.

Kubernetes ist somit ein starkes Werkzeug, um containerisierte Anwendungen stabil, sicher und skalierbar zu betreiben. Es bietet enorme Flexibilität und Automatisierung, erfordert aber auch Fachwissen und Einarbeitung. Ob Kubernetes die richtige Lösung ist, hängt vom Projekt ab – manchmal reicht auch eine einfachere Alternative.

Interview mit unserer Softwareentwicklung

Willi - Softwareentwickler bei SandsteinNM - hat sich mit Kubernetes beschäftigt. So beschreibt er seine Erfahrungen.

Portrait von einem Mann mit grauen Haaren und Brille

Wie bist du zu Kubernetes gekommen?

Kubernetes als System zur Container-Verwaltung war uns bekannt, jedoch haben wir bis dahin vorwiegend mit Docker gearbeitet. Der "deep dive" wurde notwendig, als das Sächsische Sozialministerium uns mit einem Update der Pflegedatenbank des Freistaats Sachsen beauftragt hat. Statt diese weiterhin bei einem externen Dienstleister zu betreiben, sollte sie in den von der Landesregierung bereitgestellten Kubernetes-Cluster umziehen. Dafür haben wir die Anwendung erst für Kubernetes vorbereitet und dann mit allen Vorteilen der Containerisierung aktualisiert, so dass sie nun auf dem neusten Softwarestack basiert.

Welche Erwartungen hattest du an die Software? Gab es auch Befürchtungen?

Ich war vor allem neugierig auf die neuen Möglichkeiten: moderne Konzepte ausprobieren, die (virtualisierte) Hardware als Code abbilden und versionieren. Auf der anderen Seite hatte ich großen Respekt vor der Komplexität von Kubernetes. Ein Projekt in dieser Dimension hatten wir mit Kubernetes bis dahin noch nicht umgesetzt.

Welche Erfahrungen hast du mit Kubernetes gemacht? Dein Fazit?

Kubernetes ist extrem mächtig, wenn es darum geht, Anwendungen sicher und flexibel skalierbar zu betreiben. Allerdings ist die Einarbeitung anspruchsvoll und der Aufwand der Implementierung ist nicht zu unterschätzen.

Darum lohnt es sich immer, genau abzuwägen: Braucht das Projekt wirklich die Features von Kubernetes oder ist in manchen Fällen auch eine Lösung wie Docker Compose oder der Betrieb auf einer physischen oder virtuellen Maschine angemessen.

Auch interessant!

Überzeugen Sie sich von unseren Leistungen.

Haben Sie Fragen?

Portrait Kornelia Seidel

Kornelia Seidel

Vertrieb

Telefon
0351-44 078 42
E-Mail
E-Mail schreiben