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:
- 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.
- 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:
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"
"server_features": ["xds_v3"]
hinzu als in diesem Beispiel für eine Bootstrap-Datei. 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 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
- Allgemeine Informationen zur Fehlerbehebung für Cloud Service Mesh finden Sie unter Fehler bei Envoy-Bereitstellungen beheben
- Informationen zum Beheben von Konfigurationsproblemen bei der Bereitstellung proxyloser gRPC-Dienste finden Sie unter Fehlerbehebung bei Deployments mit proxylosen gRPC-Diensten.