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.
  • 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

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

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