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. Er unterstützt Dienste, die auf einer Vielzahl von Computing-Infrastrukturen ausgeführt werden. Cloud Service Mesh wird über APIs gesteuert, die für Google Cloud, Open Source oder beides entwickelt wurden.

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 eine verwaltete, beobachtbare und sichere Kommunikation zwischen Ihren Diensten ermöglicht. Damit können Sie robuste Unternehmensanwendungen erstellen, die aus vielen Mikrodiensten in der ausgewählten Infrastruktur bestehen. 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 durch ein Sidecar-Muster für die Mikrodienste im Mesh-Netzwerk bereitgestellt. In der Compute Engine können Sie Proxys auf VMs bereitstellen oder proxyloses 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 komplex und fragmentiert werden. Service Mesh hilft, das Fragmentierungsproblem zu lösen und die Verwaltung Ihrer Microservices zu vereinfachen.

Was ist 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 für die Computing-Infrastruktur spezifisch sind, auf der Ihre Arbeitslasten ausgeführt werden.
  • 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 Ihre Betriebs- und Entwicklungsteams, indem es die Dienstbereitstellung vereinfacht – von der Traffic-Verwaltung und der Mesh-Netzwerktelemetrie bis hin zur sicheren Kommunikation zwischen Diensten. 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 Trafficverwaltung, 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 implementieren Ressourcen, 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.

Cloud Service Mesh verwaltet eine Liste aller Dienste im Mesh nach Namen und zugehörigen Endpunkten. 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). Durch die Verwendung dieser Dienstregistrierung und das Ausführen der Proxys parallel zu den Diensten leitet das Mesh den Traffic an den entsprechenden Endpunkt weiter. Proxylose gRPC-Arbeitslasten können auch parallel zu Arbeitslasten mit Envoy-Proxys verwendet werden.

Informationen zur Sichtbarkeit

Die Benutzeroberfläche von Cloud Service Mesh 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 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.
  • Mit Dienst-zu-Dienst-Beziehungen können Sie auf einen Blick Dienstabhängigkeiten und die Verbindungen zu den einzelnen Diensten erkennen.
  • Sie können schnell den Kommunikationssicherheitsstatus nicht nur für den Dienst, sondern auch für seine Beziehungen zu anderen Diensten sehen.
  • Service Level Objectives (SLOs) geben Ihnen einen Einblick in den Status Ihrer Dienste. Sie können jederzeit neue SLOs und Warnungen für Ihre eigenen Anforderungen in Bezug auf den Dienststatus definieren.

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 mTLS-Zertifikate (Mutual TLS) 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 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 gewährleisten, dass Insider nur über autorisierte Clients auf vertrauliche 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 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:

  • In Google Cloud
    • Verwaltetes Cloud Service Mesh – verwaltete Steuerungs- und Datenebene für GKE (empfohlen)
    • Verwaltetes Cloud Service Mesh – verwaltete Steuerungs- und Datenebene für die 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

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 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 Anwendung aktualisieren, ermöglicht der Sidecar-basierte Ansatz die Integration in das Mesh, ohne dass Sie Ihre Anwendung ändern müssen. Wenn Sie den Overhead der Ausführung eines Sidecars vermeiden möchten, können Sie Ihre Anwendung so aktualisieren, dass sie gRPC verwendet.

Sowohl Envoy-Proxys als auch proxylose gRPC-Dienste verwenden die xDS API, um eine Verbindung zur Steuerungsebene herzustellen. Wenn Sie proxylose gRPC-Anwendungen verwenden, haben Sie die Wahl zwischen verschiedenen unterstützten Sprachen für Ihre Anwendungen, darunter Go, C++, Java und Python.

Wenn Sie Open-Source-Istio-APIs verwenden, wird Ihre Datenebene von Envoy-Proxys bereitgestellt.

Implementierung der Steuerungsebene

Die Cloud Service Mesh-Steuerungsebene hängt davon ab, ob Ihre Konfiguration in Google Cloud oder außerhalb von Google Cloud ausgeführt wird 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 Steuerungsebenenimplementierung ermitteln. 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

Migration der Steuerungsebene

Wenn Sie Anthos Service Mesh weiterhin nutzen und die Istio APIs verwenden, werden Ihre Cluster 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