Was eine verwaltete Container-Umgebung bieten sollte Wie Managed Kubernetes das IT-Team entlastet

Ein Gastbeitrag von Henrik Hasenkamp *

Kubernetes gilt als komplex und schwierig in der Handhabung, so dass der Arbeitsaufwand häufig eher steigt als sinkt. Verwaltete Kubernetes-Umgebungen können Vorteile bringen – und so wirklich zur Entlastung von IT-Abteilung beitragen.

Anbieter zum Thema

Eine Managed-Kubernetes-Lösung sollte es unter anderem ermöglichen, mit wenigen Handgriffen eine erste Container-Infrastruktur zu erstellen.
Eine Managed-Kubernetes-Lösung sollte es unter anderem ermöglichen, mit wenigen Handgriffen eine erste Container-Infrastruktur zu erstellen.
(© AliFuat - stock.adobe.com)

Kubernetes hat sich in den letzten Jahren zu einem Quasi-Standard für die Orchestrierung von Cloud-Strukturen entwickelt. Das Open-Source-Projekt unterstützt Developer dabei, in ihren Cloud-Umgebungen eine wachsende Anzahl an Containern zu verwalten, zu warten und zu veröffentlichen. Die Community, die die Open-Source-Initiative nutzt und weiterentwickelt, wächst schnell und wird von zahlreichen namhaften Unternehmen unterstützt.

eBook Container-Orchestrierung
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)

E-Book zum Thema

Unser eBook „Container-Orchestrierung“ befasst sich mit den Container-Cluster-Managern Docker Swarm, Kubernetes und Mesosphere.


Kubernetes ist in relativ kurzer Zeit ein leistungsfähiges, aber auch komplexes Werkzeug geworden, dank einer engagierten Gemeinschaft und vielen wichtigen Organisationen im Hintergrund. Um Kubernetes sind mittlerweile zahlreiche Ökosysteme entstanden, die mehr Funktionen und Interoperabilität versprechen. Dies geht allerdings häufig zu Lasten der Übersichtlichkeit und Bedienbarkeit.

Somit kann es mitunter schwer sein, spontan eine Kubernetes-Umgebung aufzusetzen. Kubernetes ist Open-Source-Technologie und Interessierte können auf eigene Faust damit herumexperimentieren. Vereinfacht wird das Ausprobieren durch die Tatsache, dass Kubernetes auf keine spezielle Betriebsumgebung angewiesen ist und auf vielen herkömmlichen Linux-Distributionen und Windows-Systemen läuft.

Die Feinjustierung und größere Umgebungen aber machen die Arbeit mit dem System komplizierter. Kubernetes bietet zwar zahlreiche Funktionen für die Container-Orchestrierung, bei der Provisionierung neuer Server oder der Bereitstellung von persistentem Speicher allerdings ist eine entsprechende Infrastruktur im Hintergrund vonnöten. Dies ist insbesondere dann der Fall, wenn – wie in den meisten Fällen – die Anzahl der Container und Deployments schnell steigt und zunehmend ineinander verschachtelt ist.

Die Vorteile der Cloud

Will man Kubernetes nicht im eigenen Rechenzentrum nutzen, bieten inzwischen zahlreiche Cloud-Anbieter Lösungen an, auf die man zurückgreifen kann – und zwar mit allen Vorteilen, die die Cloud bietet: Die stets aktuellste Version ist auf einer gemanagten und beliebig skalierbaren, hochverfügbaren Infrastruktur verfügbar.

Entwickler und Entwicklerinnen müssen sich daher nicht mit Aktualisierungen abmühen. Bezahlen müssen Unternehmen dabei meist nur die Cloud-Ressourcen, die tatsächlich in Benutzung sind. Die Kosten bleiben so weitgehend transparent und kalkulierbar.

Kubernetes benötigt keine dedizierte Betriebssystemumgebung, daher ist die Gefahr des Vendor-Lock Ins zunächst gering. Das bedeutet, dass sich bei einem Anbieterwechsel der gesamte Workload relativ einfach transferieren lässt. Für die Konfiguration bringt Kubernetes eine API mit, die über HTTPS oder über die Kommandozeile kubectl direkt angesprochen werden kann.

Den richtigen Anbieter finden

Das Angebot an potenziellen Providern ist riesig und die Auswahl des passenden Service nicht einfach, da die Angebote stark differieren. Beispielsweise gibt es die Möglichkeit, alles außer der Installation selbst zu machen. Wenn die Kubernetes-internen Funktionen für die eigenen Zwecke genügen, kann ein reines Hosting-Angebot zum Einsatz kommen.

Ohne weitere Services oder Unterstützung fallen aber nun Kosten für Kubernetes an, die bei einer On-Prem-Installation wahrscheinlich geringer ausgefallen wären. Deshalb ist reines Hosting eine Option, die nur für wenige Anwendungsfälle Sinn ergibt. Attraktiver erscheinen gemanagte Angebote.

Das Angebot hier ist ebenfalls breit gefächert: von Ökosystemen großer Hyperscaler über Container-as-a-Service-Packages bis hin zu Managed-Kubernetes von Cloud-Native-Providern. Es lohnt deshalb, einen Blick auf die Details zu werfen. Was sollte eine Kubernetes-Plattform bieten?

Einfaches Aufsetzen und intuitive Bedienung der Plattform

Um sich nicht bis ins kleinste Detail mit administrativen Tätigkeiten beschäftigen zu müssen, sollte es bei der ins Auge gefassten Lösung möglich sein, mit wenigen Klicks eine erste Container-Infrastruktur zu erstellen. Selbst wenn es am Anfang nicht wichtig scheint, eine klickbasierte und intuitiv bedienbare Oberfläche zu haben, erweist sie sich im Laufe des Projektes als sehr hilfreich.

Anpassungen lassen sich so leichter und schneller realisieren, die variierenden Kosten bleiben besser im Blick. Zudem besitzt Kubernetes keine besonders ausgeprägten Logging- und Monitoring-Features. Wenn dies über das Bedieninterface der Kubernetes-Plattform möglich ist, ersparen sich Developer einiges an Zeit, die anderweitig besser aufgehoben wäre.

Ausgeglichene Vorkonfigurations-Möglichkeiten

Kubernetes bietet zahllose Möglichkeiten zur Konfiguration. Eine Plattform zum Management von Kubernetes sollte daher möglichst beides bieten: die Möglichkeit, jedes Details selbst zu konfigurieren sowie passende Voreinstellungen. So könnten häufig gewählte Optionen wie etwa Load Balancer, Persistent Storage und Scheduler sinnvoll voreingestellt sein. Auf diese Weise können die User direkt starten und bei Bedarf die Konfiguration Schritt für Schritt anpassen.

Automatisches Provisioning und Deprovisioning

Cloud-Services bieten den großen Vorteil, dass im Hintergrund eine flexibel skalierbare Infrastruktur steht. Und es ist das Wesen eines gemanagten Service, Dinge zu automatisieren. Die automatische Provisionierung ist daher – als Scale-In oder als Scale-Out – eine Grundfunktion, die jede Kubernetes-Plattform erfüllen sollte. Man setzt eine Orchestrierungssoftware wie Kubernetes schließlich genau deshalb ein, um Container zu skalieren und Container-basierte Anwendungen in Clustern bereitzustellen. Wenn Kubernetes skaliert, braucht es IT-Infrastruktur, die man nach Bedarf in Betrieb nehmen und wieder abstellen kann. Insbesondere bei hybriden Umgebungen kann es interessant sein, bei Bedarf Cloud-Infrastruktur hinzuschalten zu können.

Cluster-Updates und Auto-Healing

Kubernetes Cluster benötigen regelmäßige Updates. Eine Kubernetes-Plattform kann hier unterstützen, etwa indem sich Updates planen lassen oder sie automatisch durchgeführt werden. Auto-Healing kommt immer dann zum Einsatz, wenn Instanzen in der Cloud beispielsweise aufgrund von Wartungsarbeiten oder verminderter Leistung (z. B. hohe Latenz) nicht voll funktionstüchtig sind. Müsste all das, was auf diesen Instanzen gerade läuft, manuell wiederhergestellt werden, wäre dies ein hoher Aufwand. Provider, die Auto-Healing bieten, erkennen Laufzeitprobleme und erstellen die Cluster samt Anwendungen automatisch neu.

Integration von IAM

Kubernetes bietet kein natives Identity- und Access-Management (IAM): Benutzerdaten werden in einer separaten Datenbank gespeichert. Daher ist es von Vorteil, wenn die Kubernetes-Plattform entsprechende Funktionen oder wenigstens die weitgehende Integration eines Identity-Tools mitbringt.

Schnellerer Start und besseres Handling durch Managed Kubernetes

Die Installation von Kubernetes – und erst recht der Betrieb – erfordern bereits einiges an Spezial-Know-how. Wenn keine restriktiven Gründe gegen die Verwendung von Cloud-Services sprechen, sollten Entwicklerinnen und Entwickler für Kubernetes darauf zurückgreifen (dürfen).

Henrik Hasenkamp
Henrik Hasenkamp
(Bild: gridscale)

Managed-Kubernetes-Lösungen vereinfachen dem Nutzer die Arbeit durch vorkonfigurierte Basics, wie Cluster-Ausstattung, Storage und Load Balancer. Der Betrieb der Kubernetes-Plattform durch einen Betreiber ist zudem komfortabler und weitgehend automatisch skalierbar. Allerdings ist die Wahl der passenden Plattform nicht einfach – das Angebot am Markt ist umfangreich und divers, die anfallenden Kosten variieren stark. Neben Hyperscalern bieten spezialisierte, lokale Cloud-Anbieter häufig den besseren Support und die flexibleren Lösungen.

* Henrik Hasenkamp ist Gründer und CEO von gridscale.

E-Book zum Thema

Container-Orchestrierung

eBook Container-Orchestrierung
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)

Container haben die DevOps-Idee revolutioniert. Dazu bedarf es eines Container-Clusters nebst zugehöriger Verwaltungsinstrumente. Wir nehmen den Platzhirsch Kubernetes und seine direkten Konkurrenten genauer unter die Lupe.

Dieses eBook beinhaltet folgende Kapitel:

  • Orchester-Meister im Vergleich
  • Schwarmintelligenz für Docker
  • Steuermann auf dem Containerschiff
  • Dicht an der Mesosphäre

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:48087129)