API de plano de control de xDS
La malla de servicios de Cloud y sus clientes (proxies de Envoy o bibliotecas de gRPC sin proxy) usan la API de xDS de código abierto para intercambiar información. Cuando configuras Cloud Service Mesh (por ejemplo, mediante recursos como reglas de reenvío y servicios de backend), Cloud Service Mesh convierte estos recursos en una configuración de xDS que comparte con sus clientes.
Compatibilidad con la versión xDS
Cloud Service Mesh solo admite xDS v3.
Para determinar qué versiones de Envoy y gRPC admiten xDS v3, consulta la documentación de Envoy y gRPC.
Si aún usas xDS v2, sigue las instrucciones que se indican a continuación para migrar a xDS v3.
Migra de xDS v2 a xDS v3
El proceso de migración consta de dos pasos:
- Actualiza los permisos de Identity and Access Management (IAM) otorgados a la cuenta de servicio que usan tus clientes (proxies de Envoy o bibliotecas de gRPC sin proxy) cuando se conectan a la malla de servicios de Cloud.
- Actualiza y vuelve a implementar tus aplicaciones. Los pasos específicos varían según la implementación y se explican en las siguientes secciones.
Actualiza los permisos de IAM de la cuenta de servicio
Asegúrate de que la cuenta de servicio que usan tus clientes de Cloud Service Mesh (Envoy y gRPC sin proxy) tenga los permisos trafficdirector.networks.reportMetrics
y trafficdirector.networks.getConfigs
. Estos permisos están incluidos en el rol de cliente de Service Mesh de Cloud (roles/trafficdirector.client
).
Si usas un rol personalizado de IAM, puedes agregarle estos permisos. Después de agregar los permisos, puedes quitar el rol Compute Network Viewer (roles/compute.networkViewer
), el rol Compute Network Admin (roles/compute.networkAdmin
) o ambos de la cuenta de servicio.
Te recomendamos que uses el rol de cliente de Cloud Service Mesh en lugar del rol de visor de red de Compute (roles/compute.networkViewer
) o el rol de administrador de red de Compute (roles/compute.networkAdmin
). El uso del rol de cliente de Cloud Service Mesh restringe los permisos otorgados a la cuenta de servicio y evita otorgar permisos demasiado amplios.
Actualiza tus aplicaciones
Después de actualizar los permisos de IAM en la cuenta de servicio, actualiza tus aplicaciones.
Envoy en Compute Engine
Para actualizar tus aplicaciones en Envoy con Compute Engine, realiza un reemplazo o reinicio progresivo de los grupos de instancias administrados. Se agrega de forma automática una versión de Envoy compatible con xDS v3 a tus instancias de máquina virtual (VM).
Envoy en GKE
Si usas la inserción automática de Envoy con Google Kubernetes Engine (GKE), vuelve a instalar el inyector de sidecar en los clústeres de GKE que usas con Cloud Service Mesh. Cuando se crea un Pod nuevo, un proxy de sidecar de Envoy que admite xDS v3 se inserta de forma automática junto con el Pod de la carga de trabajo.
Si usas la inserción manual de sidecar en GKE, vuelve a implementar el proxy de sidecar en cada uno de tus clústeres de GKE.
gRPC sin proxy
El proceso de migración consta de dos pasos:
Asegúrate de que la versión de gRPC que uses sea compatible con xDS v3. Para obtener más información, consulta Funciones de xDS en gRPC.
Para actualizar la configuración de arranque, sigue estos pasos:
- En el campo
"xds_servers"
, agrega"server_features": ["xds_v3"]
como se muestra en este ejemplo de archivo de arranque. El ID del nodo debe tener el siguiente formato, como se muestra en el ejemplo anterior:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- En el campo
Una vez que hayas realizado los cambios anteriores en tu aplicación, compílala y vuelve a implementarla.
Los cambios anteriores en la configuración de arranque no afectan a las versiones de gRPC que no son compatibles con xDS v3. Además, si los cambios anteriores no están presentes en la configuración de arranque, las versiones de gRPC que admiten xDS v3 usan xDS v2.
Para tu comodidad, puedes usar la versión 0.16.0 del generador de arranque de gRPC de Cloud Service Mesh o una versión posterior para generar una configuración de arranque compatible con xDS v3.
Verifica que los clientes de Cloud Service Mesh usen xDS v3
Para inspeccionar la configuración que Cloud Service Mesh genera para sus clientes, puedes usar la herramienta de estado del cliente. Esta herramienta indica si la configuración es xDS v2 o xDS v3.
¿Qué sigue?
- Para encontrar información general sobre la solución de problemas de Cloud Service Mesh, consulta Soluciona problemas de implementaciones de Envoy.
- Para resolver problemas de configuración cuando implementas servicios de gRPC sin proxy, consulta Soluciona problemas de implementaciones de gRPC sin proxy.