Was ist Kubernetes? Alle über Container, Architektur & Funktionsweise


In der Software-Entwicklung spielt Kubernetes inzwischen eine große Rolle – besonders bei agilen Projekten. Der Zyklus von Entwicklung, Testing und Deployment (und allen möglichen Zwischenschritten) wird durch die Container-Orchestrierung vereinfacht. Kubernetes ermöglicht es, Container einfach von einer Stufe zur anderen zu verschieben und dabei viele Arbeitsschritte zu automatisieren.

Die Skalierung ist ein wichtiger Faktor – besonders, wenn man externen Cloud-Speicher anmietet: Um Kosten zu sparen, kann Kubernetes Ressourcen perfekt ausnutzen. Statt derzeit nicht benötigte Maschinen weiterlaufen zu lassen, kann Kubernetes diese Ressourcen wieder freigeben und entweder für andere Tasks einsetzen oder einfach gar nicht benutzen, was Kosten sparen kann. Dank Autoscaling achtet Kubernetes selbstständig darauf, nicht mehr Ressourcen zu verbrauchen, als tatsächlich notwendig sind. Doch auch andersherum ist schnelle Skalierung enorm wichtig: Veröffentlicht man seine Software zum ersten Mal, ist mitunter nicht korrekt abzuschätzen, wie der Zulauf aussehen wird. Damit bei extrem hoher Nachfrage das System nicht kollabiert, kann Kubernetes schnell weitere Instanzen zur Verfügung stellen.

Der Vorteil bei Kubernetes ist auch, dass man problemlos mehrere Plattformen miteinander verknüpfen kann. So ist es z. B. möglich, die Lösung in einer Hybrid Cloud einzusetzen. Teilweise befindet sich das System dann auf eigenen lokalen Servern und teilweise in einem entfernten Rechenzentrum – also der Cloud. Diese Möglichkeit wiederum erhöht die Skalierbarkeit noch mehr: Braucht man mehr Ressourcen, können diese beim Cloud-Anbieter in der Regel schnell und unkompliziert hinzugebucht werden.

Schließlich hilft Kubernetes Entwicklern auch dabei, den Überblick zu behalten. Jeder Container ist eindeutig markiert und man erhält Auskunft über den Status jeder einzelnen Instanz. Gleichzeitig ist eine Versionskontrolle Teil von Kubernetes. Updates können also auch nachträglich nachvollzogen werden. Überhaupt ist das Veröffentlichen von Updates einer der Hauptvorteile des Systems: Neue Versionen können so ausgerollt werden, dass überhaupt keine Downtime auftritt. Dafür werden Pods nach und nach geändert statt alle auf einmal. Das gilt sowohl für die interne Testversion als auch bei der Veröffentlichung von neuen Versionen für Endnutzer.

Da Kubernetes viele Aspekte der Orchestrierung eigenständig konfiguriert, entfallen einige Fallstricke bei der Arbeit. Deshalb gilt Kubernetes allgemein als sicheres System: Es kommt eher selten zu Ausfällen, und wenn doch einmal ein Pod nicht mehr wie geplant funktioniert, hat der Kubernetes-Master direkt Kenntnis davon und kann den Ausfall ersetzen.



Source link

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.