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 Anleitung unten, um zu xDS v3 zu migrieren.
Von xDS v2 zu xDS v3 migrieren
Der Migrationsvorgang umfasst zwei Schritte:
- Aktualisieren Sie die IAM-Berechtigungen (Identity and Access Management), die dem Dienstkonto zugewiesen wurden, das Ihre Clients (Envoy-Proxys oder proxylose gRPC-Bibliotheken) verwenden, wenn sie eine Verbindung zu Cloud Service Mesh herstellen.
- 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, anstelle der Rolle „Compute-Netzwerkbetrachter“ (roles/compute.networkViewer
) oder „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin
) die Rolle „Cloud Service Mesh-Client“ zu verwenden. Durch die Verwendung der Rolle „Cloud Service Mesh-Client“ werden die dem Dienstkonto erteilten Berechtigungen eingeschränkt und zu umfassende Berechtigungen werden vermieden.
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.
Proxylose gRPC-Dienste
Der Migrationsvorgang umfasst zwei Schritte:
Achten Sie darauf, dass die von Ihnen verwendete gRPC-Version xDS v3 unterstützt. Weitere Informationen finden Sie unter xDS-Features in gRPC.
Aktualisieren Sie die Bootstrap-Konfiguration über folgende Schritte:
- Fügen Sie im Feld
"xds_servers"
den String"server_features": ["xds_v3"]
hinzu, wie in diesem Bootstrap-Dateibeispiel gezeigt. Die Knoten-ID muss das folgende Format haben, wie im vorherigen Beispiel gezeigt:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- Fügen Sie im Feld
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 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
Zum Prüfen der Konfiguration, die Cloud Service Mesh für seine Clients generiert, können Sie das Clientstatus-Tool verwenden. Dieses Tool gibt an, ob die Konfiguration xDS v2 oder xDS v3 ist.
Nächste Schritte
- Allgemeine Informationen zur Fehlerbehebung in Cloud Service Mesh finden Sie unter Fehlerbehebung bei Envoy-Bereitstellungen.
- Informationen zum Beheben von Konfigurationsproblemen bei der Bereitstellung proxyloser gRPC-Dienste finden Sie unter Fehlerbehebung bei Deployments mit proxylosen gRPC-Diensten.