Cloud Service Mesh – Übersicht
Cloud Service Mesh ist ein Service Mesh, das in Google Cloud und auf unterstützten GKE Enterprise-Plattformen verfügbar ist. Es unterstützt Dienste, die auf einer Vielzahl von Recheninfrastrukturen ausgeführt werden. Cloud Service Mesh wird durch APIs gesteuert die für Google Cloud, Open Source oder beides konzipiert sind.
Dieses Dokument richtet sich an neue Cloud Service Mesh-Nutzer oder bestehende Anthos Service Mesh- oder Traffic Director-Kunden.
Was ist ein Service Mesh?
Ein Service Mesh ist eine Architektur, die verwaltete, beobachtbare und sichere Kommunikation zwischen Ihren Diensten. So können Sie leichter zuverlässige aus vielen Mikrodiensten auf Ihrem und Infrastruktur. Service Meshes verwalten die gängigen Anforderungen an die Ausführung eines Dienstes wie Monitoring, Netzwerk und Sicherheit mit einheitlichen, leistungsstarken Tools. So können sich Entwickler und Betreiber von Diensten leichter auf die Erstellung und Verwaltung nützlicher Anwendungen für ihre Nutzer konzentrieren.
Architektonisch besteht ein Service Mesh aus einer oder mehreren Steuerungsebenen und einer Datenebene. Das Service Mesh überwacht den gesamten Traffic in Ihre Dienste und von Ihren Diensten. In Kubernetes wird ein Proxy von einem Sidecar-Muster zu den Mikrodiensten im Mesh-Netzwerk hinzu. In der Compute Engine können Sie Proxys auf VMs bereitstellen oder proxylosen 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. Sie können jedoch Ihre Arbeitslasten können bei der Skalierung komplexer und fragmentierter werden. Service Mesh hilft, das Fragmentierungsproblem zu lösen und die Verwaltung Ihrer Microservices zu vereinfachen.
Was ist ein Cloud Service Mesh?
Cloud Service Mesh ist die Lösung von Google sowohl für Google Cloud als auch für unterstützte GKE Enterprise-Umgebungen.
- In Google Cloud: Cloud Service Mesh bietet APIs, die spezifisch für die Computing-Infrastruktur sind, auf der Ihre Arbeitslasten ausgeführt werden.
- Für Compute Engine-Arbeitslasten verwendet Cloud Service Mesh Google Cloud-spezifische Dienstrouting APIs
- Für GKE-Arbeitslasten (Google Kubernetes Engine) verwendet Cloud Service Mesh die Open-Source-APIs von Istio.
- Nicht in Google Cloud: Mit Distributed Cloud oder GKE Multicloud unterstützt Cloud Service Mesh die Istio APIs für Kubernetes-Arbeitslasten.
Unabhängig davon, ob Sie Google Cloud verwenden oder nicht, 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 Betrieb und Entwicklung die Bereitstellung von Diensten vereinfachen, von Traffic-Verwaltung bis Mesh-Netzwerk. um die Kommunikation zwischen Diensten zu sichern. Mit dem vollständig verwalteten Service Mesh von Google können Sie komplexe Umgebungen verwalten und von all ihren Vorteilen profitieren.
Features
Cloud Service Mesh bietet eine Reihe von Funktionen für die Traffic-Verwaltung, die Beobachtbarkeit und Telemetrie sowie die Sicherheit.
Trafficverwaltung
Cloud Service Mesh steuert den Traffic-Fluss zwischen Diensten im Mesh, in das Mesh (eingehender Traffic) und in externe Dienste (ausgehender Traffic). Sie konfigurieren und Ressourcen bereitstellen, um diesen Traffic auf der Anwendungsebene (L7) zu verwalten. Sie haben zum Beispiel folgende Möglichkeiten:
- Verwenden Sie die Diensterkennung.
- Load Balancing zwischen Diensten konfigurieren.
- Canary- und Blau/Grün-Bereitstellungen erstellen.
- Routing für Ihre Dienste genau steuern.
- Schutzschalter einrichten.
Das Cloud Service Mesh verwaltet eine Liste aller Dienste im Mesh-Netzwerk anhand des Namens und durch ihre jeweiligen Endpunkte. Diese Liste wird verwaltet, um den Trafficfluss zu steuern (z. B. IP-Adressen von Kubernetes-Pods oder die IP-Adressen von Compute Engine-VMs in einer verwalteten Instanzgruppe). Wenn Sie diese Dienstregistrierung verwenden und die Proxys parallel zum kann das Mesh-Netzwerk 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 und liefert Informationen zu Ihrem Service Mesh. Diese Messwerte werden automatisch für Arbeitslasten generiert, die über die Istio APIs konfiguriert wurden.
- Dienstmesswerte und Logs für HTTP-Traffic innerhalb des GKE-Clusters des Mesh-Netzwerks werden automatisch in Google Cloud aufgenommen.
- 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.
- Die Dienst-zu-Dienst-Beziehungen helfen Ihnen, auf einen Blick die verschiedenen Dienste zu verstehen. und abhängig davon, wer eine Verbindung zu den einzelnen Diensten herstellt.
- So können Sie nicht nur den Sicherheitsstatus Ihrer Kommunikation sondern auch von Beziehungen zu anderen Diensten.
- Service Level Objectives (SLOs) geben Ihnen einen Einblick in den Status Ihrer Dienste. Sie können ein SLO und eine Benachrichtigung zu Ihren eigenen Dienststandards definieren Gesundheit.
Weitere Informationen zu den Beobachtbarkeitsfunktionen von Cloud Service Meshs finden Sie in unserer 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 stützt sich auf gegenseitige TLS-Zertifikate (mTLS), um Authentifizieren Sie Peers anstelle von Inhabertokens wie JSON-Webtokens (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 nicht autorisierte Clients auf einen Dienst mit vertraulichen Daten zugreifen können, wird verringert, unabhängig vom Netzwerkstandort des Clients und den Anmeldedaten auf Anwendungsebene.
- Verminderung des Risikos von Verstößen gegen Nutzerdaten in Ihrem Produktionsnetzwerk. Sie können sicherzustellen, dass Insider nur über autorisierte Kunden auf sensible Daten zugreifen können.
- Identifikation von Clients, die auf einen Dienst mit vertraulichen Daten zugegriffen haben. Das Zugriffs-Logging von Cloud Service Mesh erfasst zusätzlich zur IP-Adresse die mTLS-Identität des Clients.
- Alle Komponenten der Steuerungsebene im Cluster werden mit nach 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:
- In Google Cloud
- Verwaltetes Cloud Service Mesh – verwaltete Steuerung und Datenebene für GKE (empfohlen)
- Managed Cloud Service Mesh – verwaltete Steuerung und Datenebene für Compute Engine mit VMs (empfohlen)
- Clusterinterne Steuerungsebene für GKE mit Istio APIs (nicht empfohlen)
- Nicht in Google Cloud
- Clusterinterne Steuerungsebene für Kubernetes mit Istio APIs
Verwaltetes Cloud Service Mesh
Das verwaltete Cloud Service Mesh besteht aus der verwalteten Steuerungsebene für alle Infrastrukturen und die verwaltete Datenebene für GKE. Mit Managed Cloud Service Mesh übernimmt Google Upgrades, Skalierungen und die manuelle Wartung der Nutzer minimieren. Dazu gehören die Steuerungsebene, die Datenebene und zugehörige 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 ermöglicht der Sidecar-basierte Ansatz die Integration in das Mesh-Netzwerk. ohne die Anwendung zu ändern. Wenn Sie den Overhead der Ausführung eines Sidecars vermeiden möchten, können Sie Ihre Anwendung so aktualisieren, dass sie gRPC verwendet.
Envoy-Proxys und proxylose gRPC-Dienste verwenden beide die xDS API, um eine Verbindung zur Steuerung herzustellen Flugzeug. Wenn Sie proxylose gRPC-Dienste verwenden, können Sie mehrere unterstützte Sprachen für wie Go, C++, Java und Python.
Wenn Sie Open-Source-Istio APIs verwenden, wird Ihre Datenebene von Envoy-Proxys bereitgestellt.
Implementierung der Steuerungsebene
Ihre Cloud Service Mesh-Steuerungsebene hängt davon ab, ob Ihre ob die Konfiguration aktiviert oder deaktiviert ist, und ob Sie eine neue Kunden.
Implementierung der Steuerungsebene für bestehende Nutzer
- Wenn Ihre Konfiguration außerhalb von Google Cloud ist, verwenden Sie Die nicht verwaltete Steuerungsebene im Cluster. Weitere Informationen finden Sie unter In der clusterinternen Steuerungsebene unterstützte Features.
- Wenn Sie Anthos Service Mesh-Nutzer in Google Cloud waren, verwenden Sie Istio APIs Weitere Informationen finden Sie unter Unterstützte Features mit Istio APIs (verwaltete Steuerungsebene).
- Wenn Sie Cloud Service Mesh-Nutzer waren, verwenden Sie die verwaltete Steuerungsebene von Cloud Service Mesh mit Google Cloud APIs. Weitere Informationen Siehe Unterstützung von Cloud Service Mesh mit Google Cloud APIs Funktionen.
Informationen zum Ermitteln Ihrer aktuellen Steuerungsebene finden Sie unter Implementierung der Steuerungsebene identifizieren. Weitere Informationen zu Steuerungsebenen und zur Migration der Steuerungsebene finden Sie unter Verwaltete Steuerungsebene – Übersicht für Bestandskunden.
Implementierung der Steuerungsebene für neue Nutzer
- Wenn Sie eine Konfiguration außerhalb von Google Cloud planen, wählen Sie die nicht verwaltete Cluster-Steuerungsebene von Cloud Service Mesh aus. Weitere Informationen finden Sie unter In der clusterinternen Steuerungsebene unterstützte Features.
- Wenn Sie eine Google Cloud-Konfiguration in Kubernetes planen, aber Ihre Steuerungsebene nutzt den Traffic Director-Implementierung, mit Ausnahme der in den Wovon hängt die Implementierung der Steuerungsebene ab? Weitere Informationen finden Sie unter Unterstützte Features mit Istio APIs (verwaltete Steuerungsebene).
- Wenn Sie eine On-Google Cloud-Konfiguration Compute Engine-VMs nutzt Ihre Steuerungsebene das globale, mehrmandantenfähige Steuerungsebene, auch Traffic Director-Implementierung genannt. Weitere Informationen finden Sie unter Von Cloud Service Mesh mit den Google Cloud APIs unterstützte Features.
Migration der Steuerungsebene
Wenn Sie weiterhin Anthos Service Mesh-Kunde sind und die Istio APIs verwenden, Cluster werden zur Traffic Director-Steuerungsebene migriert. Sie können die Istio APIs weiterhin für die Konfiguration verwenden.
Informationen dazu, ob Ihre Cluster noch die Istio-Steuerungsebene verwenden oder zur neuen globalen Steuerungsebene migriert wurden, finden Sie unter Steuerungsebenenimplementierung ermitteln.
Nächste Schritte
- Wenn Sie ein fortlaufender Nutzer sind, lesen Sie den Artikel Verwaltete Steuerungsebene für Bestandskunden.
- Wenn Sie die Einrichtung mit GKE planen, lesen Sie den Hilfeartikel Steuerungsebene bereitstellen.
- Wenn Sie die Einrichtung mit der Compute Engine und VMs planen, lesen Sie den Hilfeartikel Einrichtung für Dienst-Routing-APIs mit Envoy und proxylosen Arbeitslasten vorbereiten.