Fotolia

Tools zum Management von Multi-Cloud-Lösungen mit Kubernetes

Kubernetes ist die ideale Lösung, wenn es um die Orchestrierung von Containern geht. Für Umgebungen, die sich über mehrere Plattformen erstrecken, braucht es aber spezielle Tools.

Die Container-Lösung Kubernetes entwickelt sich kontinuierlich in viele Richtungen weiter. Das macht es manchmal nicht leicht, die Verbindungen zu anderen IT-Trends zu erkennen. Insbesondere gilt das beim zunehmend wichtiger werdenden Thema Multi Cloud.

Prinzipiell können Anwender ihre Container und ganze Kubernetes-Cluster innerhalb von virtuellen Maschinen (VMs) in jedem öffentlichen Cloud-Angebot und auch On-Premises einrichten. Das ist überhaupt kein Problem. Sie müssen sich aber in diesen Umgebungen meist selbst um die Bereiche Skalierbar- und Verlässlichkeit kümmern. Viele Cloud-Provider bieten immerhin mittlerweile gemanagte Dienste an, um ihre Kunden bei den dabei auftretenden Problemen zu unterstützen. Diese spezialisierten Werkzeuge eignen sich jedoch in der Regel nicht für eine mit Kubernetes erstellte Architektur, die sich über mehrere unterschiedliche Cloud-Plattformen erstrecken soll.

Die von den Cloud-Providern selbst entwickelten Kubernetes-Dienste kümmern sich also nur um das Deployment und die Verwaltung der benötigten Ressourcen sowie um die Bereiche Load Balancing und um die benötigten Netzwerkverbindungen. Viele Unternehmen benötigen jedoch Lösungen, die mehr als nur diese „Inseln“ verwalten können und die auch mit Anwendungen umgehen können, die in verschiedenen Cloud-Umgebungen untergebracht sind.

Tools für Multi-Cloud-Lösungen auf Basis von Kubernetes

Anwender, die ihre Kubernetes-Infrastruktur auf mehr als eine Cloud-Umgebung verteilen wollen oder müssen, haben mehrere Möglichkeiten. Im Folgenden finden Sie kurze Beschreibungen mehrerer Tools und Dienste, mit denen sich Container-Architekturen über mehrere Plattformen hinweg einrichten lassen:

NetApp Kubernetes Service ist einer früher als StackPointCloud bekannter Dienst. Dabei handelt es sich um einen bereits gut etablierten und ausgereiften Service, der eine gemeinsame Administrations-Konsole für vernetzte Kubernetes-Umgebungen bietet. Jede Cloud-Umgebung wird dabei als separater Cluster behandelt, der sich in jeder der größeren bekannten Cloud-Plattformen einrichten lässt. On-Premises eingerichtete Kubernetes-Lösungen lassen sich damit allerdings nicht einbinden. Wenn eine Multi-Cloud-Umgebung also auch ein privates Data Center umfasst, dann werden die Workloads der Cloud und des lokalen Rechenzentrums von diesem Service getrennt voneinander behandelt.

Cloudify bietet ebenfalls ein ausgereiftes Orchestrierung-Tool, das auf Basis von Modellen arbeitet und als Open Source verfügbar ist. Damit lässt sich Kubernetes über mehrere Cloud-Umgebungen sowie auf einer eigenen Maschine oder in einer VM einrichten. Cloudify ist aber keine Lösung, um Kubernetes zu verbessern. Stattdessen behandelt es Kubernetes und jegliche von Cloud-Providern angebotenen Dienste als separate Ressourcen. Dadurch bietet sich das Tool an, um nicht nur verschiedene Cloud-Provider, sondern um komplett unterschiedliche Hosting-Ansätze miteinander zu harmonisieren. Manche Anwender kommen aber nicht mit der zusätzlichen Abstraktionsschicht klar, die Cloudify mit sich bringt.

Terraform ist ein IaC-Tool (Infrastructure as Code), das ein gemeinsames Hosting-Framework ermöglicht. Damit lässt sich ein einzelner virtueller Pool mit Hosting-Ressourcen aus beliebig vielen öffentlichen Cloud-Angeboten oder privaten Rechenzentren einrichten, auf den Kubernetes dann zugreifen kann. Viele der von den Providern angebotenen erweiterten Funktionen können jedoch nicht mit Terraform genutzt werden, so dass sich die Lösung manchmal etwas einschränkend auswirkt.

Rancher ist ein Framework auf Basis von Kubernetes, das gut mit selbst aufgesetzten Servern und mit VMs zusammenarbeitet, egal ob sie sich lokal oder in einer Multi-Cloud-Umgebung befinden. Mit Rancher lassen sich zum Beispiel dreistufige Architekturen einrichten. Das Workload-Management der Anwendungen befindet sich dabei ganz oben, während das gemeinsame Management der Cluster in der Mitte untergebracht ist. Die unterste Ebene besteht aus den diversen öffentlich verfügbaren Kubernetes-Angeboten und der von Rancher selbst bereitgestellten Kubernetes-Lösung für private Infrastrukturen. Die Anwender können sich dabei entweder für die von den Cloud-Providern angebotenen Kubernetes-Lösungen entscheiden oder sich selbst um das Management kümmern.

Platform9 Managed Kubernetes ist eine SaaS-Lösung (Software as a Service) für hybride Cloud-Lösungen und Multi-Clouds auf Basis von Kubernetes. Sie funktioniert mit allen gängigen größeren Cloud-Plattformen und auch auf den eigenen Servern eines Unternehmens. Im Kern steckt dahinter ein „Bring-your-own-Infrastructure“-Ansatz, der sich mit Hilfe einer zentralen Management-Konsole um alle für das Hosting benötigten Ressourcen kümmert und der gut mit praktisch allen Hosting-Umgebungen zusammenarbeitet. Platform9 unterstützt VMs, Container und sogar Serverless-Lösungen. Das macht die Software sehr flexibel. Viele Marktbeobachter halten den Dienst deswegen für eine ernstzunehmende Konkurrenz zu Rancher.

Red Hat OpenShift und Tectonic kombinieren eine auf Kubernetes aufsetzende Version einer abstrakt gehaltenen Infrastruktur mit unterschiedenen Pools für die Ressourcen, die sich sowohl in öffentlichen Cloud-Plattformen als auch in lokal gehosteten Umgebungen befinden können. OpenShift basiert auf einer auf den Bereich On-Premises ausgerichteten Sichtweise auf Multi- und hybride Clouds und weniger auf einem SaaS-Modell. Das liegt daran, dass die Lösung vor allem Werkzeuge enthält, die ein IT-Profi bereits aus seinem eigenen Rechenzentrum kennt oder die er dort nutzen würde. Die Kombination von OpenShift und Tectonic ist noch relativ jung. Es empfiehlt sich deswegen, die Integration genauer zu verfolgen und zu beobachten, wie sich die angebotenen Funktionen weiterentwickeln, wenn Sie sich für diese Lösung interessieren.

Juke stammt von HTBase, das mittlerweile von Juniper Networks geschluckt wurde. Die Lösung erweitert sowohl die Control- als auch die Data-Planes einer Kubernetes-Umgebung. Dadurch bietet sie die benötigte Netzwerkebene, um ein einheitliches Framework über verschiedene Cloud-Plattformen und lokale Data Center zu ermöglichen. Juke ist besonders im Bereich einer eventuell benötigten Mehrmandantenfähigkeit ausgereift. Dadurch ist die Lösung insbesondere für die Cloud-Anbieter selbst interessant. Sie eignet sich aber auch für Anwender, die einen großen Wert auf das Thema Isolierung der einzelnen Applikationen voneinander legen, um sowohl ihre Bedürfnisse in den Bereichen Governance als auch IT-Security zu erfüllen.

Der Einfluss der Cloud auf Kubernetes

Cloud-basierte Lösungen zum Managen von Kubernetes-Umgebungen haben einen großen Einfluss auf Kubernetes als Ganzes. Das erkennt man auch an den zahlreichen Erweiterungen, die es für hybride und Multi-Cloud-Strukturen mittlerweile gibt. Beispiele für diese Entwicklung sind die Kubernetes-Plug-ins von Red Hat und der Erfolg von Istio als einem Service Mesh.

Das hat auch dazu geführt, dass Unternehmen jetzt die Orchestrierung von Kubernetes als Management unterschiedlicher Installationen und nicht mehr nur als Management unterschiedlicher Kubernetes-Cluster wahrnehmen. Dabei werden die diversen angebotenen Cloud-Plattformen zu diesen Installationen und wirken damit als Erweiterung Ihrer Ressourcen. Dadurch entsteht ein hierarchisches Kubernetes-Modell, das aus höheren und niedrigeren Ebenen besteht, die zusammenarbeiten und sich über alle Arten von Infrastruktur erstrecken können.

Zu den größten Stärken von Kubernetes haben immer das offene Framework und seine APIs (Application Programming Interfaces) gehört, die für eine hohe Integrationsfähigkeit gesorgt haben. Dieser Integrationsprozess hat auch in Zukunft einen großen Einfluss auf Kubernetes und das dazugehörige Ökosystem. Die Unterstützung von Multi-Cloud-Umgebungen in Kubernetes und die von den Cloud-Providern angebotene gemanagte Kubernetes-Dienste werden sich auch in Zukunft stark weiterentwickeln. Anwender sind deswegen gut beraten, wenn sie die Fortschritte der von ihnen ausgewählten Werkzeuge sorgsam beobachten.

Nächste Schritte

Verwaltete Kubernetes-Services: Vor- und Nachteile

Optionen für Managed Kubernetes Services

Microservices: Docker und Kubernetes Monitoring Tools

Erfahren Sie mehr über Cloud Computing