APIs del plano de control xDS
Cloud Service Mesh y sus clientes (proxies de Envoy o bibliotecas gRPC sin proxy) usan la API 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 xDS, que comparte con sus clientes.
Compatibilidad con versiones de 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 sigues usando xDS v2, sigue estas instrucciones para migrar a xDS v3.
Migrar de xDS v2 a xDS v3
El proceso de migración consta de dos pasos:
- Actualiza los permisos de gestión de identidades y accesos (IAM) concedidos a la cuenta de servicio que usan tus clientes (proxies de Envoy o bibliotecas de gRPC sin proxy) al conectarse a la malla de servicios de Cloud.
- Actualiza y vuelve a implementar tus aplicaciones. Los pasos específicos varían en función de tu implementación y se explican en las siguientes secciones.
Actualizar los permisos de gestión de identidades y accesos 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 Cloud Service Mesh (roles/trafficdirector.client
) de gestión de identidades y accesos.
Si usas un rol de gestión de identidades y accesos personalizado, puedes añadir estos permisos al rol personalizado. Después de añadir los permisos, puedes quitar el rol Lector de red de Compute (roles/compute.networkViewer
), el rol Administrador de red de Compute (roles/compute.networkAdmin
) o ambos de la cuenta de servicio.
Te recomendamos que uses el rol Cliente de Cloud Service Mesh en lugar del rol Lector de redes de Compute (roles/compute.networkViewer
) o del rol Administrador de redes de Compute (roles/compute.networkAdmin
). Si usas el rol Cliente de Cloud Service Mesh, se restringen los permisos concedidos a la cuenta de servicio y se evitan permisos demasiado amplios.
Actualizar las aplicaciones
Después de actualizar los permisos de gestión de identidades y accesos en la cuenta de servicio, actualice sus aplicaciones.
Envoy en Compute Engine
Para actualizar tus aplicaciones en Envoy con Compute Engine, haz un reinicio o una sustitución gradual de los grupos de instancias gestionadas. Se añade automáticamente una versión de Envoy compatible con xDS v3 a tus instancias de máquina virtual.
Envoy en GKE
Si usas la inyección automática de Envoy con Google Kubernetes Engine (GKE), vuelve a instalar el inyector de sidecar en los clústeres de GKE que utilices con Cloud Service Mesh. Cuando se crea un nuevo pod, se inserta automáticamente un proxy sidecar de Envoy que admite xDS v3 junto con el pod de carga de trabajo.
Si usas la inyección manual de sidecar en GKE, vuelve a implementar el proxy 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 usas sea compatible con xDS v3. Para obtener más información, consulta las funciones xDS en gRPC.
Para actualizar la configuración de arranque, sigue estos pasos:
- En el campo
"xds_servers"
, añade"server_features": ["xds_v3"]
como se muestra en este ejemplo de archivo de arranque. El ID de nodo debe tener el siguiente formato, tal como se muestra en el ejemplo anterior:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- En el campo
Después de hacer 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 admiten 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 Cloud Service Mesh gRPC bootstrap generator versión 0.16.0 o posterior para generar una configuración de bootstrap compatible con xDS v3.
Verificar que los clientes de Cloud Service Mesh usan 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.
Siguientes pasos
- Para obtener información general sobre cómo solucionar problemas de Cloud Service Mesh, consulta el artículo Solucionar problemas de implementaciones de Envoy.
- Para solucionar problemas de configuración al desplegar servicios gRPC sin proxy, consulta el artículo Solucionar problemas de despliegues de gRPC sin proxy.