Cloud Bursting – platzt die Private Cloud, ist die Public Cloud zur Stelle

Seite 2: Hands-On: Cloud Bursting mit Kubernetes

Inhaltsverzeichnis

Dazu gilt es, eine private und eine Public Cloud aufzusetzen, die jeweils aus einem eigenen Kubernetes-Cluster bestehen. Zusammen bilden die zwei Cluster die hybride Cloud. Damit aus zwei getrennten Umgebungen eine effektive hybride Cloud inklusive Cloud Bursting wird, sollten folgende Anforderungen erfüllt sein:

  1. Services in einem Cluster müssen Services im anderen Cluster entdecken und aufrufen können.
  2. Die Kommunikation zwischen den Clustern sollte abgesichert sein.
  3. Die Freigabe von Anwendungen in der hybriden Cloud lässt sich zentral verwalten.
  4. Die Ressourcen beider Cluster sind gebündelt.

Ziel ist es, dass sich die beiden Teile der hybriden Cloud möglichst wie ein einziges, homogenes System verhalten. Unter den Begriffen Cross-Cluster-Kommunikation, Multicluster-Verwaltung und Multicluster-Scheduling lassen sich diese Vorgänge zusammenfassen. Kubernetes selbst bietet hierfür keine Lösung an. Glücklicherweise bietet das Kubernetes-Ökosystem aber für jeden dieser Punkte ein Kubernetes-Projekt, das die jeweilige Funktion zur Verfügung stellt.

Die aufgeführte Beispielanwendung soll das Verwalten und das Scheduling von Multiclustern sowie die Kommunikation über Clustergrenzen hinweg (Cross-Cluster) übernehmen:

Als Basis für die Umgebung dienen zwei Kubernetes-Cluster, die beide über Azure Kubernetes Service (AKS) aufgesetzt sind. Grundsätzlich lassen sich die Cluster aber auch selbst betreiben oder zum Beispiel bei Amazon Web Services und in der Google Cloud aufsetzen. Wichtig für ein funktionierendes Cloud Bursting ist die Konfiguration der Ressourcen pro Cluster. Für den privaten Teil wird dem Cluster eine feste Anzahl an Nodes zugewiesen. Der öffentliche Cluster hingegen kann die Anzahl seiner Nodes dynamisch skalieren.

Systemüberblick über das Istio-Multicluster-Service-Mesh (Abb. 2)

(Bild: doubleSlash)