xDS-Steuerungsebenen-APIs

Cloud Service Mesh und seine Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden die Open-Source-xDS API für den Austausch von Informationen. Wenn Sie Cloud Service Mesh konfigurieren, z. B. mithilfe von Ressourcen wie Weiterleitungsregeln und Back-End-Diensten, konvertiert Cloud Service Mesh diese Ressourcen in eine xDS-Konfiguration, die es für seine Clients freigibt.

xDS-Versionsunterstützung

Cloud Service Mesh unterstützt xDS v3 (dringend empfohlen) und xDS v2. xDS v2 wird ab dem 20. Juni 2024 nicht mehr unterstützt. Wenn Sie Cloud Service Mesh zum ersten Mal bereitstellen, empfehlen wir dringend die Verwendung von xDS v3.

Informationen dazu, welche Envoy- und gRPC-Versionen xDS v3 unterstützen, finden Sie in der Dokumentation zu Envoy und gRPC.

Von xDS v2 zu xDS v3 migrieren

Der Migrationsvorgang umfasst zwei Schritte:

  1. Aktualisieren Sie die IAM-Berechtigungen (Identity and Access Management), die dem Dienstkonto gewährt wurden, das Ihre Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) beim Herstellen einer Verbindung zu Cloud Service Mesh verwenden.
  2. Anwendungen aktualisieren und neu bereitstellen. Die einzelnen Schritte variieren je nach Bereitstellung und werden in den folgenden Abschnitten erläutert.

IAM-Berechtigungen des Dienstkontos aktualisieren

Prüfen Sie, ob das von Ihren Cloud Service Mesh-Clients (Envoy, proxylose gRPC) verwendete Dienstkonto die Berechtigungen trafficdirector.networks.reportMetrics und trafficdirector.networks.getConfigs hat. Diese Berechtigungen sind in der IAM-Rolle „Cloud Service Mesh-Client“ (roles/trafficdirector.client) enthalten.

Wenn Sie eine benutzerdefinierte IAM-Rolle verwenden, können Sie diese Berechtigungen hinzufügen. Nachdem Sie die Berechtigungen hinzugefügt haben, können Sie die Rolle „Compute Network Viewer“ (roles/compute.networkViewer), die Rolle „Compute Network Admin“ (roles/compute.networkAdmin) oder beide aus dem Dienstkonto entfernen.

Wir empfehlen, die Rolle „Cloud Service Mesh Client“ anstelle der Rolle „Compute Network Viewer“ (roles/compute.networkViewer) oder die Rolle „Compute Network Admin“ (roles/compute.networkAdmin) zu verwenden. Mit der Rolle „Cloud Service Mesh Client“ werden die Berechtigungen eingeschränkt, die dem Dienstkonto gewährt wurden. Außerdem werden nicht zu umfassende Berechtigungen gewährt.

Anwendungen aktualisieren

Nachdem Sie die IAM-Berechtigungen für das Dienstkonto aktualisiert haben, müssen Sie Ihre Anwendungen aktualisieren.

Envoy in Compute Engine

Führen Sie einen rollierenden Neustart oder Ersatz der verwalteten Instanzgruppen durch, um Ihre Anwendungen in Envoy mit Compute Engine zu aktualisieren. Eine Version von Envoy, die xDS v3 unterstützt, wird Ihren VM-Instanzen automatisch hinzugefügt.

Envoy in GKE

Wenn Sie die automatische Envoy-Injection mit Google Kubernetes Engine (GKE) verwenden, installieren Sie den Sidecar-Injektor noch einmal in den GKE-Clustern, die Sie mit Cloud Service Mesh verwenden. Wenn ein neuer Pod erstellt wird, wird automatisch ein Envoy-Sidecar-Proxy, der xDS v3 unterstützt, neben Ihrem Arbeitslast-Pod eingefügt.

Wenn Sie die manuelle Sidecar-Einfügung in GKE verwenden, stellen Sie den Sidecar-Proxy noch einmal in jedem Ihrer GKE-Cluster bereit.

Proxylose gRPC-Dienste

Der Migrationsvorgang umfasst zwei Schritte:

  1. Achten Sie darauf, dass die von Ihnen verwendete gRPC-Version xDS v3 unterstützt. Weitere Informationen finden Sie unter xDS-Features in gRPC.

  2. Aktualisieren Sie die Bootstrap-Konfiguration über folgende Schritte:

    1. Fügen Sie im Feld "xds_servers" den Wert "server_features": ["xds_v3"] hinzu, wie in diesem Beispiel für eine Bootstrap-Datei gezeigt.
    2. Die Knoten-ID muss das folgende Format haben, wie im vorherigen Beispiel gezeigt:
      "projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
      

Nachdem Sie die vorherigen Änderungen an der Anwendung vorgenommen haben, müssen Sie sie erstellen und noch einmal bereitstellen.

Die vorherigen Änderungen an der Bootstrap-Konfiguration wirken sich nicht auf gRPC-Versionen aus, die xDS v3 nicht unterstützen. Wenn die vorherigen Änderungen in der Bootstrap-Konfiguration nicht vorhanden sind, verwenden gRPC-Versionen, die xDS v3 unterstützen, xDS v2.

Sie können einfach mit dem Cloud Service Mesh gRPC-Bootstrap-Generator Version 0.11.0 oder höher eine xDS v3-kompatible Bootstrap-Konfiguration generieren.

Prüfen, ob Cloud Service Mesh-Clients xDS v3 verwenden

Mit dem Clientstatus-Tool können Sie die Konfiguration prüfen, die Cloud Service Mesh für seine Clients generiert. Dieses Tool gibt an, ob die Konfiguration xDS v2 oder xDS v3 ist.

Nächste Schritte