xDS-Steuerungsebenen-APIs

Cloud Service Mesh und seine Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden die Open Source xDS API, um Informationen auszutauschen. 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 mit seinen Clients teilt.

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. Die dem Dienst gewährten Berechtigungen für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) aktualisieren Konto, das Ihre Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden wenn Sie eine Verbindung zum Cloud Service Mesh herstellen.
  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 Ihrem Cloud Service Mesh verwendete Dienstkonto Clients (Envoy, proxyloses gRPC) hat die trafficdirector.networks.reportMetrics und trafficdirector.networks.getConfigs Berechtigungen. Diese Berechtigungen sind in IAM enthalten Rolle „Cloud Service Mesh-Client“ (roles/trafficdirector.client).

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-Netzwerkbetrachter“ (roles/compute.networkViewer), die Rolle „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin) oder beide aus dem Dienstkonto entfernen.

Wir empfehlen, die Rolle „Cloud Service Mesh Client“ anstelle von Rolle „Compute-Netzwerkbetrachter“ (roles/compute.networkViewer) oder die Rolle „Compute-Netzwerkbetrachter“ Rolle „Netzwerkadministrator“ (roles/compute.networkAdmin) Mit der Die Rolle „Cloud Service Mesh-Client“ schränkt die Berechtigungen ein, die dem Nutzer Dienstkonto und vermeidet zu umfassende Berechtigungen.

Anwendungen aktualisieren

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

Envoy in Compute Engine

Wenn Sie Ihre Anwendungen in Envoy mit der Compute Engine aktualisieren möchten, 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-Injektion mit Google Kubernetes Engine (GKE) verwenden, installieren Sie den Sidecar-Injektor auf den GKE-Clustern neu, die Sie mit Cloud Service Mesh verwenden. Beim Erstellen eines neuen Pods wird automatisch zusammen mit Ihrem Arbeitslast-Pod ein Envoy-Sidecar-Proxy eingefügt, der xDS v3 unterstützt.

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

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" "server_features": ["xds_v3"] hinzu als in diesem Beispiel für eine Bootstrap-Datei.
    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 haben keine Auswirkungen auf gRPC-Versionen, die xDS v3 nicht unterstützen. Wenn die vorherigen Änderungen die Bootstrap-Konfiguration. Dann verwenden gRPC-Versionen, die xDS v3 unterstützen, xDS v2.

Der Einfachheit halber können Sie die Cloud Service Mesh-gRPC-Bootstrap-Generator-Version 0.16.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

Um die Konfiguration zu prüfen, die Cloud Service Mesh für seine können Sie die Client-Status-Tool. Dieses Tool gibt an, ob die Konfiguration xDS v2 oder xDS v3 ist.

Nächste Schritte