API du plan de contrôle xDS
Cloud Service Mesh et ses clients (proxys Envoy ou bibliothèques gRPC sans proxy) utilisent l'API xDS Open Source pour échanger des informations. Lorsque vous configurez Cloud Service Mesh, par exemple en utilisant des ressources telles que des règles de transfert et des services de backend, Cloud Service Mesh convertit ces ressources en configuration xDS qu'il partage avec ses clients.
Compatibilité des versions xDS
Cloud Service Mesh n'est compatible qu'avec xDS v3.
Pour déterminer les versions d'Envoy et de gRPC compatibles avec xDS v3, consultez la Envoy et Documentation gRPC.
Si vous utilisez encore xDS v2, suivez les instructions ci-dessous pour migrer vers xDS v3.
Migrer de xDS v2 à xDS v3
Le processus de migration comporte deux étapes :
- Mettez à jour les autorisations IAM (Identity and Access Management) accordées au compte de service utilisé par vos clients (proxys Envoy ou bibliothèques gRPC sans proxy) lors de la connexion à Cloud Service Mesh.
- Mettez à jour et redéployez vos applications. Les étapes spécifiques varient en fonction de votre déploiement. Elles sont expliquées dans les sections suivantes.
Mettre à jour les autorisations IAM du compte de service
Assurez-vous que le compte de service utilisé par votre maillage de services Cloud
(Envoy, gRPC sans proxy) dispose du rôle trafficdirector.networks.reportMetrics
et trafficdirector.networks.getConfigs
. Ces autorisations sont
incluses dans la stratégie IAM
Rôle Client Cloud Service Mesh
(roles/trafficdirector.client
).
Si vous utilisez un rôle IAM personnalisé, vous pouvez ajouter ces autorisations au rôle personnalisé. Après avoir ajouté ces autorisations, vous pouvez supprimer les autorisations
le rôle Lecteur de réseau (roles/compute.networkViewer
), l'administrateur de réseaux Compute ;
(roles/compute.networkAdmin
), ou les deux, depuis le compte de service.
Nous vous recommandons d'utiliser le rôle "Client Cloud Service Mesh" plutôt que
le rôle Lecteur de réseau Compute (roles/compute.networkViewer
) ou le rôle
le rôle Administrateur réseau (roles/compute.networkAdmin
). Avec les
Le rôle "Client Cloud Service Mesh" limite les autorisations accordées au
compte de service et évite d'accorder des autorisations trop larges.
Mettre à jour vos applications
Après avoir mis à jour les autorisations IAM sur le compte de service, mettez à jour vos applications.
Envoy sur Compute Engine
Pour mettre à jour vos applications sur Envoy avec Compute Engine, effectuez un redémarrage ou un remplacement progressif des groupes d'instances gérés. Une version d'Envoy qui prend en charge xDS v3 est automatiquement ajoutée à vos instances de machine virtuelle (VM).
Envoy sur GKE
Si vous utilisez l'injection Envoy automatique avec Google Kubernetes Engine (GKE), réinstallez l'injecteur de side-car sur les clusters GKE que vous utilisez avec Cloud Service Mesh. Lorsqu'un pod est créé, un proxy side-car Envoy compatible avec xDS v3 est automatiquement injecté avec votre pod de charge de travail.
Si vous utilisez l'injection manuelle de side-car sur GKE, redéployez le proxy side-car sur chacun de vos clusters GKE.
Services gRPC sans proxy
Le processus de migration comporte deux étapes :
Assurez-vous que la version de gRPC que vous utilisez est compatible avec xDS v3. Pour plus consultez la section Fonctionnalités xDS dans gRPC.
Mettez à jour la configuration d'amorçage en procédant comme suit :
- Dans le champ
"xds_servers"
, ajoutez"server_features": ["xds_v3"]
comme indiqué dans cet exemple de fichier d'amorçage. L'ID du nœud doit respecter le format suivant, Exemple:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- Dans le champ
Après avoir apporté les modifications ci-dessus à votre application, compilez-la et déployez-la à nouveau.
Les modifications précédentes apportées à la configuration d'amorçage n'affectent pas les versions de gRPC qui ne sont pas compatibles avec xDS v3. De plus, si les modifications précédentes ne sont pas présentes dans la configuration d'amorçage, les versions gRPC compatibles avec xDS v3 utilisent xDS v2.
Pour plus de commodité, vous pouvez utiliser le générateur d'amorçage gRPC Cloud Service Mesh version 0.16.0. ou une version ultérieure pour générer une configuration d'amorçage compatible avec xDS v3.
Vérifier que les clients Cloud Service Mesh utilisent xDS v3
Pour inspecter la configuration générée par Cloud Service Mesh pour ses clients, vous pouvez utiliser l'outil d'état du client. Cet outil indique si la configuration est xDS v2 ou xDS v3.
Étape suivante
- Pour obtenir des informations de dépannage générales sur Cloud Service Mesh, consultez la page Résoudre les problèmes des déploiements Envoy.
- Pour résoudre les problèmes de configuration lorsque vous déployez des services gRPC sans proxy, consultez la page Résoudre les problèmes liés au déploiement des services gRPC sans proxy.