Tierney - stock.adobe.com
Google Anthos: Einführung in Architektur und Management
In diesem Artikel vermitteln wir die Grundkonzepte von Google Anthos, wie Environs und Gruppen und worauf es beim Einrichten von Hybrid- und Multi-Cloud-Plattformen ankommt.
Softwareentwickler und -Administratoren setzen immer häufiger auf universelle Cloud-Konzepte. Dazu gehört zum Beispiel der Einsatz von Containern, insbesondere deren Orchestrierung mit Kubernetes für die Anwendungsbereitstellung über mehrere Umgebungen und Ressourcen hinweg.
Google hat Kubernetes als Open-Source-Programm veröffentlicht und verfügt somit über besondere Expertise im Bereich der Containerorchestrierung. Davon profitiert Anthos, die hauseigene Hybrid- und Multi-Cloud-Verwaltungsplattform.
In diesem Artikel werden wir die Grundelemente von Anthos und die Verwendung von Kubernetes zum Steuern von Clustern On-Premises und in verschiedenen Public Clouds darlegen. Außerdem erläutern wir die Schlüsselkonzepte von Anthos und vergleichen es mit ähnlichen containerbasierten Cloud-Managementdiensten.
Probleme mit Kubernetes und die pln von Anthos
Kubernetes eignet sich hervorragend für die Verwaltung eines Clusters von Hosting-Ressourcen, doch um mehrere autonome Ressourcenpools zu verwalten, zum Beispiel über verschiedene Domänen On-Premises oder in der Cloud hinweg, sind zusätzliche Funktionen nötig. Ohne spezielle Tools zur Verwaltung mehrerer Ressourcenpools haben IT-Teams erheblichen Mehraufwand bei kooperativen Aufgaben wie Cloud Bursting oder Backups.
IT-Teams können Anthos für die Verwaltung föderierter Operationen verwenden. Sie können Anwendungen über mehrere Ressourcenpools hinweg implementieren und gleichzeitig die Identitäten und Praktiken aus all diesen Ressourcen beibehalten. Während Anthos am häufigsten für Hybrid- und Multi-Cloud-Anwendungen im Gespräch ist, kann es auch föderierte Operationen für Virtuelle Maschinen (VMs) sowie Container unterstützen. Somit wird es zu einer beinahe universellen Verwaltungsplattform.
Die Architektur von Anthos umfasst:
- Kubernetes, gehostet im Rechenzentrum, in der Google Kubernetes Engine (GKE) in der Google Cloud oder in einer anderen Public Cloud.
- Anthos Config Management, für jede Cloud oder Domäne.
- Istio Service-Mesh für die Richtlinienkontrolle, auch dann, wenn die Anwendungen dies nicht erfordern.
- Google Operations für die Überwachung.
- So gewünscht, zusätzliche Anthos-Tools vom Google Cloud Platform (GCP) Marketplace.
Google Connect für Anthos ist das zentrale Netzwerkelement, das all diese Komponenten miteinander verbindet. GKE wird in erster Linie über die Google-Cloud-Konsole verwaltet, daher ist ein GKE-Element normalerweise das logische Zentrum von Anthos. Der Rest des Hostings kann sich in jeder beliebigen Cloud oder in jedem beliebigen Rechenzentrum befinden. Sie können die GKE-Anthos-Verwaltung auch in bestimmten Rechenzentren hosten – dazu später mehr.
Wichtige Google-Anthos-Konzepte
Zunächst werfen wir einen Blick auf die wichtigsten Grundbegriffe, die uns dabei helfen werden, den Aufbau und die Funktionsweise von Google Anthos zu verstehen.
Environs
Google Anthos kontrolliert sogenannte Environs. Dabei handelt es sich um Cluster von Ressourcen, die typischerweise mit einem gemeinsamen Anwendungssatz verbunden sind. Einer Environ muss ein einziger logischer Pool zur Verwendung zugewiesen werden und Ressourcen müssen als Teil einer Environ registriert sein, damit diese sie verwenden kann. Die Registrierung verbindet Cluster- und Cloud-Ressourcen mit der einen verteilten Anthos-Steuerungsebene.
Environs verwenden Workload-Identitätspools für die Dienstautorisierung, einschließlich des Istio-Service-Mesh-Zugriffs. Verschiedene Environs sollten Ressourcen nicht gemeinsam nutzen.
Gruppen
Mit Gruppen kontrollieren Administratoren Richtlinien. Sie verknüpfen verwandte Ressourcen, damit Anthos erkennt, dass es auf sie einen gemeinsamen Satz von Richtlinien anwenden soll.
Gruppen können zum Beispiel Ressourcen zusammenfassen, die interaktive Anwendungskomponenten hosten, eine Aufgabe wie Produktion oder Tests teilen und verwandte Anwendungskomponenten hosten. Administratoren sollten sich die Zeit nehmen, um ihre Gruppenstruktur mit den geplanten Richtlinien zu testen, um Fehler zu vermeiden.
Sameness
Sameness (Gleichheit) drückt Äquivalenz in einem bestimmten Bereich aus, wie zum Beispiel in einem Namensraum (Namespace), Dienst und Identität. Das Konzept dient dazu, die Äquivalenz von Gegenständen zu definieren, die funktional gleich sind, sich aber in verschiedenen Clustern befinden.
Sameness bei einem Namensraum oder Service kann ausdrücken, dass zwei Dienste gleich sind, auch wenn sie sich in verschiedenen Clustern befinden. Identitäts-Sameness besagt, dass zwei Dienste den gleichen Zugang zu externen Ressourcen haben.
Die Verwaltung in Anthos
Administratoren können Identitäts-Sameness und Namensraumkonventionen verwenden, um Cluster, Ressourcen und Dienste zu manipulieren und Beziehungen zwischen ihnen herzustellen. Dies erleichtert das Erstellen einfacher Richtliniensätze, um ihr Verhalten zu steuern.
Anthos schafft somit funktional eine GKE-gehostete Steuerungsebene, die sich über alle verbundenen Ressourcen erstreckt und über die Richtlinien ausgetauscht werden. Innerhalb jedes Clusters stellt eine Anthos-Konfigurationsverwaltungsinstanz – oder Config Sync für Nicht-GKE-Cluster – die Ressourcen zur Richtlinienkontrolle bereit, und speichert Richtlinien in einem zentralen Git-Repository. Anthos unterstützt alle Standard-Kubernetes-Richtlinien und kann sie als zentrale Richtlinien über eine einzige Steuerungsebene auf alle Cluster anwenden.
Administratoren müssen einen Kompromiss finden zwischen der Zahl der Environs und dem Aufwand bei der Verwaltung und Isolation von Richtlinien. Je weniger Environs, desto einfacher ist es, Richtlinien für die Verwaltung von Anwendungen und Diensten festzulegen, desto schwieriger wird es jedoch, den Zugriff auf Dienste und Ressourcen zu isolieren.
Erstellt ein Administrator jedoch eine große Anzahl von Environs, dann ist das Isolieren von Ressourcen und Diensten einfacher, die Verwaltung der Richtlinien zur Kontrolle ist jedoch schwieriger, da er eine große Anzahl an Environs kontrollieren muss.
Der richtige Einsatz von Gruppen und Sameness kann die Anthos-Richtlinien und die Kontrolle von Clustern und Multi-Cloud stark vereinfachen. Eine einzige Richtlinie kann durch Sameness das Verhalten einer ganzen Klasse von Services festlegen. Eine Gruppe kann einen großen Abschnitt von Ressourcen definieren, so dass sie ein breites Spektrum von Servicebereitstellungen abdecken kann.
Dieser Ansatz ist jedoch sehr fehleranfällig. Falsch zugewiesene Sameness kann zu großen Sicherheits- und Stabilitätsproblemen führen; dasselbe gilt für Gruppen.
Einschränkungen von Anthos und Alternativen
Für Unternehmen, die Google Cloud noch nicht nutzen, ist es eine Einschränkung, dass sie Anthos auf GKE hosten müssen. Sie können, wie bereits erwähnt, Anthos mit GKE On-Premises in ihrem Rechenzentrum oder auf einer virtuellen Maschine hosten. Das geht jedoch derzeit nur in vSphere-Rechenzentren.
Es ist zu erwarten, dass Google die Möglichkeiten von Anthos noch auf weitere Cloud- und Rechenzentrumsressourcen ausweiten wird. Bis dahin stehen IT-Teams eine Reihe von Tools zur Verfügung, um VM- und Bare-Metal-Workloads zu Containern in Kubernetes und schließlich zu Anthos zu konvertieren. Das ist derzeit die beste Lösung für Nutzer mit einem containerzentrischen Ansatz.
Anthos ist nicht das einzige Angebot für Kubernetes-Föderation. OpenShift von Red Hat verfügt über Multi-Cloud- und Multi-Cluster-Fähigkeiten. Es ist jedoch nur für Red-Hat-Enterprise-Linux-Implementierungen (RHEL) verfügbar und bietet weniger Funktionen für das Implementieren Cloud-nativer Dienste. VMware Tanzu ist offener als OpenShift und bietet eine etwas bessere native Cloud-Unterstützung, steckt jedoch noch in den Kinderschuhen.
Außerdem konkurrieren Angebote von Public Cloud Providern mit Anthos: AWS Outposts und Azure Arc. Der Ansatz von Outposts unterscheidet sich von Anthos grundlegend. AWS weitet dabei Cloud-Services auf von AWS verwaltete Geräte im Rechenzentrum des Kunden aus.
Azure Arc ähnelt Anthos in der Architektur und enthält eine Managementerweiterung für Kubernetes. Dadurch ist es nicht ganz so tief integriert, wie in Anthos und verfügt nicht über denselben Umfang nativer Cloud-Funktionen.
All das macht Anthos zu einem attraktiven Angebot für diejenigen, die mehr Cloud-native Entwicklung betreiben möchten und zu diesem Zweck Lösungen für Hybrid- und Multi-Cloud-Orchestrierung und -Management suchen.