
Testen Sie Backyards auf Ihren eigenen Clustern: curl https://getbackyards.sh | sh && backyards install -a --run-demo
curl https://getbackyards.sh | sh && backyards install -a --run-demo
. Bei Interesse lesen Sie die Details der neuesten Version .
Im Juni führten wir
Backyards ein , ein
automatisiertes „Service-Mesh“ über unserem
Istio-Betreiber . Es vereinfacht das Service-Mesh-Management in einer Multi-Cloud- und Hybrid-Infrastruktur erheblich. Backyards ist in
die Pipeline- Container-Management-Plattform in der Banzai Cloud integriert, ist jedoch auch als
eigenständiges Produkt erhältlich. Natürlich bietet die Integration mit Pipeline viele spezifische Vorteile (wie das
Verwalten von Anwendungen in mehreren Clouds ), aber Backyards funktioniert auf jeder Kubernetes-Installation.
In der
Ankündigung von Backyards haben wir einige der Hauptfunktionen besprochen: Erstellen eines Servicegitters mit wenigen Klicks, Überwachen von Anwendungen über eine einzigartige grafische Darstellung und Verwalten von Istio-Funktionen über eine komfortable Benutzeroberfläche. Dann erwähnten wir, dass die Plattform in der Lage ist, Istio-Multi-Cluster-Service-Netzwerke in Multi-Cloud- und Hybrid-Bereitstellungen zu verwalten.
In diesem Artikel werden wir uns dieses Feature genauer ansehen - das
automatisierte Multi-Cluster-Service-Mesh .
Egal, ob es sich um einen oder mehrere Cluster, eine Multi-Cloud- oder Hybridumgebung handelt, Backyards verwendet dieselben Funktionen und eine praktische Benutzeroberfläche. Es ist extrem einfach, mit einem Cluster zu beginnen und dann mit wenigen Klicks das Servicenetz auf andere Cluster (Multi-Cloud oder Hybrid-Cloud) auszudehnen.
Motivation
Hybrid- und Multi-Cloud-Systeme tauchen schnell in den Unternehmensalltag ein. Das Interesse und die Entscheidungsfindung sind stark gewachsen, seit Google
Anthos im April dieses Jahres eingeführt hat.
Auch bei den meisten Unternehmen, mit denen wir dieses Thema diskutiert haben, ist ein Anstieg des Interesses zu beobachten. Jemand verarbeitet Daten lieber in seinen eigenen Rechenzentren und greift nur zu Spitzenlastzeiten auf Cloud-Dienste zu. Andere suchen ständig nach den niedrigsten Tarifen und besten Angeboten von Cloud-Anbietern und erhöhen die Arbeitslast nur, wenn der Preis dies zulässt. Sie alle benötigen eine bequeme Möglichkeit, auf Anforderung eines bestimmten Kunden aufgrund gesetzlicher Vorschriften oder geschäftlicher Anforderungen zwischen verschiedenen Clouds zu wechseln und
mehrere verschiedene Topologien auf dieser Multi-Cloud- und Hybridinfrastruktur aufzubauen.
Als die Nachfrage nach Hybrid- und Multi-Cluster-Lösungen zunahm, begannen wir zu überlegen, wie wir die Bedürfnisse unserer Kunden befriedigen können.
Pipeline-Benutzer arbeiten mit einer oder mehreren Clouds. Es kommt darauf an, welche spezifischen Funktionen sie benötigen. Drei Schlüsselfunktionen können unterschieden werden:
Hintergrund
Von Anfang an unterstützte die Pipeline-Plattform die Verbindung verschiedener Cloud-Anbieter auf verschiedenen Ebenen (Cluster, Bereitstellungen und Dienste). Dies war schon immer eine unserer Prioritäten.
Gleichzeitig haben wir aktiv an Istio gearbeitet. Der
Betreiber wurde zuerst freigegeben, um die Bereitstellung und Verwaltung von Istio zu vereinfachen, und
erkundete dann seine Multi-Cluster-Funktionen. Als Ergebnis haben
wir mit dem Open-Source-Betreiber Istio
Backyards entwickelt, ein automatisiertes Produkt für Multi-Cloud- und Hybrid-Infrastrukturen , das in Pipeline integriert ist.
Hinterhöfe bei Pipeline
In Pipeline können Sie ein hybrides oder Multi-Cluster-Service-Mesh installieren und in einer lokalen Umgebung oder in einer beliebigen Kombination der fünf von uns unterstützten Cloud-Anbieter verwalten.Mit der Funktion zum Gruppieren von Clustern (Clustergruppe) können Sie Clustergruppen bilden, vorausgesetzt, Sie wählen einen Cluster als Hauptcluster aus. Sie können sie dann mit verschiedenen Funktionen verknüpfen, z. B. mit Multi-cluster Deployment
Service Mesh
Multi-cluster Deployment
oder mit Service Mesh
.
Multi-cluster Deployment
der Bereitstellung mehrerer Cluster können Sie die Anwendung gleichzeitig auf mehreren Clustern bereitstellen. Hier konzentrieren wir uns nicht auf diese Funktion, sie wird jedoch verwendet, um die Anwendung auf einfache Weise auf mehreren Clustern bereitzustellen. Lesen Sie mehr darüber in diesem Artikel .
In diesem Artikel wird die Funktion " Service Mesh
näher Service Mesh
. Es installiert Istio auf dem Hauptcluster und verbindet automatisch alle Cluster in der Gruppe mithilfe des Istio-Operators . Danach erhalten Sie eine Intercluster-Ansicht Ihrer Services, und ein Multicluster-Netz unterscheidet sich aus Sicht des Managements praktisch nicht von einem herkömmlichen Einzelcluster-Netz.
Funktionen
Erstellen eines Servicenetzes
Beginnen wir mit der Erstellung eines Clusters auf AWS mithilfe der leichten und CNCF-zertifizierten Kubernetes-Distribution
PKE . Erstellen Sie dann ein Service-Mesh-Istio auf diesem Cluster.
Beim Anlegen eines Servicenetzes wird im Hintergrund auch eine Clustergruppe gebildet.
Nach wenigen Sekunden ist das "Gitter" installiert und einsatzbereit.

Anwendungsbereitstellung
Jetzt brauchen wir eine Demo-Anwendung mit Microservices, um die Fähigkeiten unseres Produkts zu demonstrieren. Zu Demonstrationszwecken haben wir ein sehr einfaches
AllSpark- Projekt erstellt und ein Helm-Diagramm mit einer vorläufigen Konfiguration des AllSpark-Einsatzes erstellt, das ein Kinokarten-Reservierungssystem simuliert. Alles wird in unserem
Cloud-Service (SaaS) für Helm-Diagramme erledigt.
Mit der oben genannten Funktion zur Bereitstellung
Multi Cluster Deployments
wir diese Anwendung bereit, indem Sie auf der Benutzeroberfläche auf die Registerkarte "
Multi Cluster Deployments
mehrerer
Multi Cluster Deployments
. Fügen Sie der Pipeline das Repository
https://charts.banzaicloud.io/gh/spotguidetest
, dann das
meshdemo
Diagramm und klicken Sie auf
DEPLOY
(um alle Komponenten zu installieren, stellen Sie sicher, dass alle Werte auf
true
).

Es war möglich, eine einfache Bereitstellung für einen Cluster zu wählen, aber wir haben eine Multicluster-Option angegeben, die sich später bei der Arbeit mit mehreren Clustern als nützlich erweisen wird.
Service Mesh Übersicht
Wenn Sie zur Netzliste zurückkehren und auf die
observe
klicken, wird eine Systemsteuerung angezeigt. Da in unserer Testanwendung kein Datenverkehr vorhanden ist und keine Metriken im System vorhanden sind, wird hier noch keine Visualisierung angezeigt. Die Schnittstelle verfügt über eine
test flight
, die den Datenverkehr zu ausgewählten Endpunkten weiterleitet. Wenn Sie oben rechts auf die Schaltfläche
HTTP
klicken, können Sie ein Formular mit Informationen zum Endpunkt ausfüllen und Testdaten an Ihre Dienste senden. In unserem Beispiel sollte der Datenverkehr an den Frontpage-Dienst auf Port 8080 geleitet werden.
Nach einigen Sekunden wird ein Zeitplan Ihrer Dienste angezeigt. Die Knoten darauf repräsentieren Dienste oder Workloads, und die Pfeile repräsentieren Netzwerkverbindungen zwischen verschiedenen Diensten. Die Grafik basiert auf Istio-Metriken, die von Prometheus stammen.

Erstellen Sie zusätzliche Cluster
Die Ausweitung des Service-Netzes auf zusätzliche Cluster - auch von mehreren verschiedenen Cloud-Anbietern - ist mit wenigen Klicks erledigt. Erstellen wir drei zusätzliche Cluster bei drei verschiedenen Anbietern. Das ist interessanter. Wir können problemlos einen anderen PKE-Cluster in Azure sowie OKE- und GKE-Cluster bereitstellen.

Service Mesh Erweiterung
RESIZE MESH
zur
RESIZE MESH
der Dienste zurück, drücken Sie die Taste
RESIZE MESH
und dann
ADD NEW CLUSTER
RESIZE MESH
. Wählen Sie die zuvor erstellten Cluster aus und
ADD
Schaltfläche
ADD
. Das ist alles.

Die Erweiterung kann einige Minuten dauern: Jeder Cluster muss eine Verbindung herstellen und den
HEALTHY
erreichen.
Bereitstellen einer Anwendung in mehreren Clustern
Jetzt haben wir ein Servicegitter für mehrere Cluster und die Funktion zur Bereitstellung mehrerer Cluster in der Pipeline war zuvor aktiviert, sodass es einfach ist, unsere Demo-Microservices auf diesen Clustern bereitzustellen. In diesem speziellen Helm-Diagramm können Sie Komponenten einfach ein- und ausschalten. Da die Funktion zur
Multi-cluster Deployment
die Neudefinition von Parametern für jeden Cluster unterstützt, müssen Sie nur die Bereitstellung bearbeiten und festlegen, welche Komponenten in welchem Cluster ausgeführt werden sollen.
Bei der Bereitstellung mit mehreren Clustern haben wir die Einstellungen folgendermaßen geändert:
PKE AWS
services: true
istioresources: true
frontpage: true
catalog: true
bookings: true
PKE Azure
services: true
moviesv1: true
moviesv2: true
moviesv3: true
OKE
services: true
payments: true
notifications: true
GKE
services: true
analytics: true

Übersicht über das Servicenetz in mehreren Clustern
Wählen Sie erneut
test flight
in der Benutzeroberfläche aus, um zusätzlichen Datenverkehr zum zuvor ausgewählten Endpunkt zu leiten. Nach ein paar Sekunden wird etwas angezeigt, das der folgenden Grafik ähnelt. Jetzt ist unsere Anwendung auf
vier Cluster bei
vier verschiedenen Anbietern verteilt.
Erstaunlich , oder?

NRA-Konfiguration
Sehen Sie sich die letzte Einstellung an, bevor Sie diesen Artikel beenden:
Horizontal Pod Autoscaler . Auf der Seite
Single-cluster Deployment
in Pipeline können Sie HPA einfach für jede Bereitstellung konfigurieren (in unserem Fall
analytics-v1
).

Wenn Sie HPA installieren und genügend Datenverkehr an Ihre Services senden, um die automatische Skalierung zu starten, werden in der Benutzeroberfläche immer mehr Pods angezeigt, die dem
analytics-v1
Projekt entsprechen. Sie werden auch einen Anstieg des Abfragestroms entlang der Kanten des Diagramms feststellen, der sich in den Zahlen und in der Dicke der Kanten widerspiegelt.

Zusammenfassung
Dank Backyards at Pipeline ist es einfach, ein Hybrid- oder Multi-Cluster-Service-Mesh einzurichten. Sie können dann Anwendungen in mehreren Clustern mithilfe einer praktischen Benutzeroberfläche bereitstellen, verfolgen, verwalten und Fehler beheben.
Probieren Sie es kostenlos aus !