Cloud Service Mesh – Übersicht
Cloud Service Mesh ist ein Service Mesh, das auf Google Cloudund auf unterstützten GKE-Plattformen verfügbar ist. Sie unterstützt Dienste, die auf einer Reihe von Computing-Infrastrukturen ausgeführt werden. Cloud Service Mesh wird über APIs gesteuert, die für Google Cloud, für Open Source oder für beides entwickelt wurden.
Dieses Dokument ist für Sie, wenn Sie ein neuer Cloud Service Mesh-Nutzer oder ein bestehender Anthos Service Mesh- oder Traffic Director-Kunde sind.
Was ist ein Service Mesh?
Ein Service Mesh ist eine Architektur, die eine verwaltete, beobachtbare und sichere Kommunikation zwischen Ihren Diensten ermöglicht. So können Sie einfacher zuverlässige Unternehmensanwendungen erstellen, die aus vielen Mikrodiensten in der ausgewählten Infrastruktur bestehen. Service Meshes verwalten die allgemeinen Anforderungen an die Ausführung eines Dienstes, z. B. Monitoring, Netzwerkbetrieb und Sicherheit, mit einheitlichen, leistungsstarken Tools. Dadurch wird es Dienstentwicklern und ‑betreibern erleichtert, sich auf die Erstellung und Verwaltung hochwertiger Anwendungen für ihre Nutzer zu konzentrieren.
Architektonisch besteht ein Service Mesh aus einer oder mehreren Steuerungsebenen und einer Datenebene. Das Service Mesh überwacht den gesamten Traffic, der in Ihre Dienste ein- und aus ihnen ausgeht. In Kubernetes wird ein Proxy durch ein Sidecar-Muster für die Mikrodienste im Mesh-Netzwerk bereitgestellt. In Compute Engine können Sie Proxys auf VMs bereitstellen oder proxyfreies gRPC für die Datenebene verwenden.
Dieses Muster entkoppelt die Anwendungs- oder Geschäftslogik von Netzwerkfunktionen und ermöglicht es Entwicklern, sich auf die Funktionen zu konzentrieren, die das Unternehmen benötigt. Mit Service Meshes können Betriebsteams und Entwicklungsteams ihre Arbeit auch entkoppeln.
Die Architektur Ihrer Anwendungen als Mikrodienste bietet viele Vorteile. Bei der Skalierung können Ihre Arbeitslasten jedoch komplexer und fragmentierter werden. Ein Service Mesh kann das Problem der Fragmentierung lösen und die Verwaltung Ihrer Microservices vereinfachen.
Was ist Cloud Service Mesh?
Cloud Service Mesh ist die Lösung von Google für Google Cloudund unterstützte GKE Enterprise-Umgebungen.
- Google Cloud: Cloud Service Mesh bietet APIs, die speziell für die Recheninfrastruktur entwickelt wurden, auf der Ihre Arbeitslasten ausgeführt werden.
- Für Compute Engine-Arbeitslasten verwendet Cloud Service Mesh Google Cloud-spezifische Service Routing APIs.
- Für Google Kubernetes Engine-Arbeitslasten (GKE) verwendet Cloud Service Mesh die Open-Source-Istio-APIs.
- Google Cloud: Bei Distributed Cloud oder GKE Multicloud unterstützt Cloud Service Mesh die Istio-APIs für Kubernetes-Arbeitslasten.
Unabhängig davon, ob die Funktion aktiviert oder deaktiviert ist Google Cloud, können Sie mit Cloud Service Mesh Ihre Dienste verwalten, beobachten und schützen, ohne Ihren Anwendungscode ändern zu müssen.
Cloud Service Mesh reduziert den Aufwand für Ihre Betriebs- und Entwicklungsteams, indem die Bereitstellung von Diensten vereinfacht wird – von der Traffic-Verwaltung und der Mesh-Telemetrie bis hin zur Sicherung der Kommunikation zwischen Diensten. Mit dem vollständig verwalteten Service Mesh von Google können Sie komplexe Umgebungen ganz einfach verwalten und von allen Vorteilen profitieren.
Features
Cloud Service Mesh bietet eine Reihe von Funktionen für Traffic-Management, Beobachtbarkeit und Telemetrie sowie Sicherheit.
Traffic-Verwaltung
Cloud Service Mesh steuert den Traffic zwischen den Diensten im Mesh, in das Mesh (Ingress) und zu externen Diensten (Egress). Sie konfigurieren und stellen Ressourcen bereit, um diesen Traffic auf der Anwendungsebene (L7) zu verwalten. Sie haben zum Beispiel folgende Möglichkeiten:
- Service Discovery verwenden.
- Load Balancing zwischen Diensten konfigurieren
- Canary- und Blau/Grün-Bereitstellungen erstellen
- Routing für Ihre Dienste präzise steuern
- Schutzschalter einrichten
Cloud Service Mesh verwaltet eine Liste aller Dienste im Mesh nach Namen und nach den jeweiligen Endpunkten. Diese Liste wird verwaltet, um den Trafficfluss zu steuern, z. B. Kubernetes-Pod-IP-Adressen oder die IP-Adressen von Compute Engine-VMs in einer verwalteten Instanzgruppe. Durch die Verwendung dieser Dienstregistrierung und die Ausführung der Proxys parallel zu den Diensten kann das Mesh Traffic an den entsprechenden Endpunkt weiterleiten. Proxylose gRPC-Arbeitslasten können auch parallel zu Arbeitslasten mit Envoy-Proxys verwendet werden.
Informationen zur Sichtbarkeit
Die Cloud Service Mesh-Benutzeroberfläche in der Google Cloud Console bietet Einblicke in Ihr Service Mesh. Diese Messwerte werden automatisch für Arbeitslasten generiert, die über die Istio-APIs konfiguriert werden.
- Dienstmesswerte und Logs für HTTP-Traffic innerhalb des GKE-Clusters des Mesh-Netzwerks werden automatisch in Google Cloudaufgenommen.
- Vorkonfigurierte Dienst-Dashboards liefern Ihnen hilfreiche Informationen zu Ihren Diensten.
- Mithilfe der detaillierten Telemetriedaten von Cloud Monitoring, Cloud Logging und Cloud Trace erhalten Sie detaillierte Informationen zu Dienstmesswerten und Logs. Sie können Ihre Daten nach einer Vielzahl von Attributen filtern und segmentieren.
- Dienst-zu-Dienst-Beziehungen helfen Ihnen, Abhängigkeiten zwischen Diensten und Verbindungen zu den einzelnen Diensten auf einen Blick zu erkennen.
- Sie sehen schnell den Kommunikations-Sicherheitsstatus nicht nur für den Dienst, sondern auch für seine Beziehungen zu anderen Diensten.
- Service Level Objectives (SLOs) geben Ihnen einen Einblick in den Status Ihrer Dienste. Sie können ein SLO definieren und Benachrichtigungen für Ihre eigenen Standards für den Dienststatus einrichten.
Weitere Informationen zu den Beobachtbarkeitsfunktionen von Cloud Service Mesh finden Sie in unserem Leitfaden zur Beobachtbarkeit.
Sicherheitsvorteile
Cloud Service Mesh bietet viele Sicherheitsvorteile.
- Verminderung des Risikos von Replay- oder Imitationsangriffen, bei denen gestohlene Anmeldedaten verwendet werden. Cloud Service Mesh verwendet gegenseitiges TLS (mTLS) zur Authentifizierung von Peers anstelle von Inhabertokens wie JSON Web Tokens (JWT).
- Sicherstellen der Verschlüsselung während der Übertragung. Durch die Verwendung von mTLS für die Authentifizierung wird außerdem sichergestellt, dass alle TCP-Kommunikationen bei der Übertragung verschlüsselt werden.
- Das Risiko, dass unbefugte Clients auf einen Dienst mit vertraulichen Daten zugreifen können, wird verringert – unabhängig vom Netzwerkstandort des Clients und den Anmeldedaten auf Anwendungsebene.
- Reduziert das Risiko von Datenpannen bei Nutzerdaten in Ihrem Produktionsnetzwerk. Sie können dafür sorgen, dass Insider nur über autorisierte Clients auf sensible Daten zugreifen können.
- Gibt an, welche Clients auf einen Dienst mit sensiblen Daten zugegriffen haben. Beim Zugriffsprotokollieren in Cloud Service Mesh wird zusätzlich zur IP-Adresse auch die mTLS-Identität des Clients erfasst.
- Alle Komponenten und Proxys in der clusterinternen Steuerungsebene werden mit gemäß FIPS 140‑2 validierten Verschlüsselungsmodulen erstellt.
Weitere Informationen zu den Sicherheitsvorteilen und ‑funktionen von Service Mesh finden Sie im Sicherheitsleitfaden.
Optionen der Bereitstellung
In Cloud Service Mesh haben Sie die folgenden Bereitstellungsoptionen:
- Am Google Cloud
- Verwaltetes Cloud Service Mesh – verwaltete Steuerungs- und Datenebene für GKE (empfohlen)
- Verwaltetes Cloud Service Mesh – verwaltete Steuerungs- und Datenebene für Compute Engine mit VMs (empfohlen)
- Clusterinterne Steuerungsebene für GKE mit Istio-APIs (eingestellt)
- Aus Google Cloud
- Clusterinterne Steuerungsebene für Kubernetes mit Istio-APIs
Verwaltetes Cloud Service Mesh
Verwaltetes Cloud Service Mesh besteht aus der verwalteten Steuerungsebene für alle Infrastrukturen und der verwalteten Datenebene für GKE. Bei verwaltetem Cloud Service Mesh organisiert Google Upgrades, Skalierung und Sicherheit für Sie und minimiert so die manuelle Nutzerwartung. Dazu gehören die Steuerungsebene, die Datenebene und die zugehörigen Ressourcen.
Implementierung der Datenebene
Wenn Sie Google Cloud APIs verwenden, kann Ihre Datenebene von Envoy-Proxys oder von proxylosen gRPC-Anwendungen bereitgestellt werden. Wenn Sie eine vorhandene Anwendung aktualisieren, ermöglicht der Sidecar-basierte Ansatz die Integration in das Mesh, ohne dass Sie Ihre Anwendung ändern müssen. Wenn Sie den Aufwand für die Ausführung eines Sidecars vermeiden möchten, können Sie Ihre Anwendung für die Verwendung von gRPC aktualisieren.
Sowohl Envoy-Proxys als auch proxylose gRPC-Dienste verwenden die xDS API, um eine Verbindung zur Steuerungsebene herzustellen. Wenn Sie proxylose gRPC verwenden, können Sie für Ihre Anwendungen aus einer Reihe unterstützter Sprachen wählen, darunter Go, C++, Java und Python.
Wenn Sie Open-Source-Istio-APIs verwenden, wird die Datenebene von Envoy-Proxys bereitgestellt.
Implementierung der Steuerungsebene
Ihre Cloud Service Mesh-Steuerungsebene hängt davon ab, ob Ihre Konfiguration aktiviert oder deaktiviert ist Google Cloud und ob Sie ein neuer Kunde sind.
Implementierung der Steuerungsebene für bestehende Nutzer
- Wenn Ihre Konfiguration Google Cloudist, verwenden Sie die nicht verwaltete Steuerungsebene von Cloud Service Mesh im Cluster. Weitere Informationen finden Sie unter In der clusterinternen Steuerungsebene unterstützte Features.
- Wenn Sie Anthos Service Mesh-Nutzer auf Google Cloudwaren, verwenden Sie Istio-APIs. Weitere Informationen finden Sie unter Unterstützte Funktionen mit Istio-APIs (verwaltete Steuerungsebene) .
- Wenn Sie Traffic Director verwendet haben, nutzen Sie die verwaltete Steuerungsebene von Cloud Service Mesh mit Google Cloud APIs. Weitere Informationen finden Sie unter Unterstützte Funktionen von Cloud Service Mesh mit Google Cloud APIs.
Informationen dazu, wie Sie Ihre aktuelle Steuerungsebene ermitteln, finden Sie unter Implementierung der Steuerungsebene ermitteln. Weitere Informationen zu Steuerungsebenen und zur Migration der Steuerungsebene finden Sie unter Übersicht über die verwaltete Steuerungsebene für Bestandskunden.
Implementierung der Steuerungsebene für neue Nutzer
- Wenn Sie eineGoogle Cloud -Konfiguration planen, wählen Sie die clusterinterne, nicht verwaltete Steuerungsebene von Cloud Service Mesh aus. Weitere Informationen finden Sie unter In der clusterinternen Steuerungsebene unterstützte Funktionen.
- Wenn Sie eineGoogle Cloud -Konfiguration in GKE planen, verwenden Sie Istio-APIs mit der Traffic Director-Steuerungsebene. Weitere Informationen finden Sie unter Unterstützte Funktionen mit Istio-APIs (verwaltete Steuerungsebene).
- Wenn Sie eineGoogle Cloud -Konfiguration auf Compute Engine-VMs planen, verwenden Sie die Traffic Director-Steuerungsebene. Weitere Informationen finden Sie unter Unterstützte Funktionen von Cloud Service Mesh mit Google Cloud APIs.
Migration der Steuerungsebene
Wenn Sie weiterhin Anthos Service Mesh-Kunde sind und die Istio-APIs verwenden, verwenden Sie die Istio-APIs weiterhin für die Konfiguration.
Wenn in einer Ihrer Flotten noch die ISTIOD-Implementierung der Steuerungsebene verwendet wird, müssen Sie sie modernisieren.
Nächste Schritte
- Wenn Sie ein Bestandskunde sind, lesen Sie den Abschnitt Verwaltete Steuerungsebene für Bestandskunden.
- Wenn Sie die Einrichtung mit GKE planen, lesen Sie Steuerungsebene bereitstellen.
- Wenn Sie die Einrichtung mit Compute Engine und VMs planen, lesen Sie Einrichtung von Dienstrouting-APIs mit Envoy und proxylosen Arbeitslasten vorbereiten.