xDS-Steuerungsebenen-APIs

Cloud Service Mesh und seine Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden zum Austausch von Informationen die Open Source xDS API. Wenn Sie Cloud Service Mesh konfigurieren, z. B. durch die Verwendung von Ressourcen wie Weiterleitungsregeln und Back-End-Diensten, konvertiert Cloud Service Mesh diese Ressourcen in eine xDS-Konfiguration, die es gemeinsam mit seinen Clients verwendet.

xDS-Versionsunterstützung

Cloud Service Mesh unterstützt nur xDS v3.

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

Wenn Sie noch xDS v2 verwenden, folgen Sie der folgenden Anleitung für die Migration zu xDS v3.

Von xDS v2 zu xDS v3 migrieren

Der Migrationsvorgang umfasst zwei Schritte:

  1. Aktualisieren Sie die IAM-Berechtigungen (Identity and Access Management) für das Dienstkonto, 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

Achten Sie darauf, dass 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 beides aus dem Dienstkonto entfernen.

Wir empfehlen, die Rolle „Cloud Service Mesh-Client“ anstelle der Rolle „Compute Network Viewer“ (roles/compute.networkViewer) oder der Rolle „Compute Network Admin“ (roles/compute.networkAdmin) zu verwenden. Mit der Rolle „Cloud Service Mesh Client“ werden die dem Dienstkonto gewährten Berechtigungen eingeschränkt und zu viele Berechtigungen vermieden.

Anwendungen aktualisieren

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

Envoy in Compute Engine

Zum Aktualisieren Ihrer Anwendungen auf Envoy mit Compute Engine führen Sie einen rollierenden Neustart oder eine Ersetzung der verwalteten Instanzgruppen durch. 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 auf den GKE-Clustern neu, 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 für jeden Ihrer GKE-Cluster noch einmal 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 in das Feld "xds_servers" "server_features": ["xds_v3"] ein, wie in diesem Beispiel für eine Bootstrap-Datei gezeigt.
    2. Die Knoten-ID muss wie im vorherigen Beispiel das folgende Format haben:
      "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 nicht in der Bootstrap-Konfiguration vorhanden sind, verwenden gRPC-Versionen, die xDS v3 unterstützen, xDS v2.

Sie können den Cloud Service Mesh gRPC Bootstrap-Generator ab Version 0.11.0 oder höher verwenden, um eine mit xDS v3 kompatible Bootstrap-Konfiguration zu generieren.

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

Mit dem Clientstatustool können Sie die Konfiguration überprü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