xDS-Steuerungsebenen-APIs

Cloud Service Mesh und seine Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden die Open Source xDS API, um Informationen auszutauschen. Beim Konfigurieren Cloud Service Mesh, z. B. durch die Verwendung von Ressourcen wie Weiterleitungsregeln und Back-End-Dienste – Cloud Service Mesh konvertiert diese Ressourcen in eine xDS-Konfiguration zu übertragen, die mit seinen Clients geteilt wird.

xDS-Versionsunterstützung

Cloud Service Mesh unterstützt nur xDS v3.

Informationen darüber, welche Envoy- und gRPC-Versionen xDS v3 unterstützen, finden Sie in der Envoy und gRPC-Dokumentation

Wenn Sie noch xDS v2 verwenden, folgen Sie der Anleitung unten, um zu xDS v3 zu migrieren.

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 Dienstkonto, das von Ihren Cloud Service Mesh-Clients verwendet wird (Envoy, proxyloses gRPC), 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-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 einen Envoy-Sidecar-Proxy die xDS v3 unterstützt, wird automatisch zusammen mit Ihrem Arbeitslast-Pod eingefügt.

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

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" "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 in der Bootstrap-Konfiguration nicht vorhanden sind, verwenden auch gRPC-Versionen, die xDS v3 unterstützen, xDS v2.

Der Einfachheit halber können Sie die Version 0.16.0 des Cloud Service Mesh gRPC Bootstrap-Generators verwenden. oder höher, 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