Proxies de destino de Cloud Service Mesh
Este documento solo se aplica a Cloud Service Mesh con las APIs de balanceo de carga. Te recomendamos que uses las APIs de enrutamiento de servicios para desplegar Cloud Service Mesh.
Cuando configuras Cloud Service Mesh, uno de los recursos que configuras es el proxy de destino. En el contexto de Cloud Service Mesh, los proxies de destino tienen dos objetivos principales:
Define el protocolo que usan los clientes de Cloud Service Mesh cuando abren una conexión con los backends o los endpoints asociados a un servicio.
Trabajar con reglas de reenvío y mapas de URLs para crear un mapa de reglas de enrutamiento. El mapa de reglas de enrutamiento ofrece funciones adicionales, como reglas de enrutamiento, en función del tipo de proxy de destino. Las selecciones no válidas se ocultan en la interfaz de usuario o se rechazan mediante la API.
Tipos de proxy de destino y protocolos de solicitud
Cloud Service Mesh genera diferentes configuraciones para sus clientes en función del tipo de proxy de destino que configure. Cuando configuras un tipo de proxy de destino, el cliente de Cloud Service Mesh usa un protocolo de solicitud específico.
Proxy de destino | Protocolo de solicitud |
---|---|
HTTPS | Los clientes inician conexiones HTTPS |
HTTP | Los clientes inician conexiones HTTP |
gRPC | Los clientes inician conexiones gRPC |
TCP | Los clientes inician conexiones TCP |
No tienes por qué elegir solo un tipo. Por ejemplo, tu aplicación puede querer usar HTTP para dirigirse a algunos servicios, pero usar TCP para dirigirse a otros. En este caso, debes crear un proxy HTTP de destino y un proxy TCP de destino.
Combinaciones de recursos válidas en un mapa de reglas de enrutamiento
Para evitar errores de configuración, Cloud Service Mesh solo te permite crear mapas de reglas de enrutamiento como los siguientes:
- Regla de reenvío > proxy HTTPS de destino global > mapa de URLs > uno o varios servicios de backend
- Regla de reenvío > proxy HTTP de destino global > mapa de URLs > uno o varios servicios de backend
- Regla de reenvío > proxy gRPC de destino global > mapa de URLs > uno o varios servicios de backend
- Regla de reenvío > proxy TCP de destino global > un servicio de backend
Si usas la consola de Google Cloud para configurar un proxy HTTP de destino, este se configurará de forma implícita como parte de la configuración del mapa de reglas de enrutamiento. La configuración del proxy TCP aún no se admite en la consola deGoogle Cloud .
Si usas la CLI de Google Cloud o las APIs, debes configurar el proxy de destino explícitamente.
Gestión del tráfico
En las siguientes secciones se describen formas de gestionar el tráfico en función del tipo de proxy de destino que utilices.
Usar un proxy HTTP o HTTPS de destino
Cuando configura servicios basados en HTTP o HTTPS, cada instancia de servicio suele tener un proxy de Envoy implementado junto a ella. Cloud Service Mesh configura este proxy de Envoy. Forma parte del plano de datos de tu malla de servicios y gestiona el tráfico de la siguiente manera.
El proxy de Envoy recibe la solicitud saliente. A continuación, compara la dirección IP y el puerto de destino de la solicitud con la dirección IP y el puerto configurados en cada regla de reenvío que hace referencia a un proxy HTTP o HTTPS de destino. Si se encuentra una coincidencia, el proxy de Envoy evalúa la solicitud según el mapa de URLs correspondiente del proxy de destino.
Usar un proxy TCP de destino
Cuando configura servicios basados en TCP, cada instancia de servicio suele tener un proxy de Envoy desplegado junto a ella. Cloud Service Mesh configura este proxy de Envoy. Forma parte del plano de datos de tu malla de servicios y gestiona el tráfico de la siguiente manera.
El proxy de Envoy recibe la solicitud saliente. A continuación, compara la dirección IP y el puerto de destino de la solicitud con la dirección IP y el puerto configurados en cada regla de reenvío que hace referencia a un proxy TCP de destino. Cada regla de reenvío dirige el tráfico TCP a un proxy de destino que apunta a un servicio backend predeterminado. El servicio de backend especifica una comprobación del estado y determina el backend adecuado.
Usar un proxy gRPC de destino
Cuando configuras servicios basados en gRPC, tus instancias de servicio no suelen tener proxies de Envoy implementados junto a ellas. En su lugar, Cloud Service Mesh configura la biblioteca gRPC. La biblioteca forma parte del plano de datos de tu malla de servicios y gestiona el tráfico de la siguiente manera.
La biblioteca gRPC compara el hostname[:port]
especificado en el URI con las reglas de host de todos los mapas de URLs a los que hace referencia un proxy gRPC de destino. Si se encuentra una coincidencia, la biblioteca gRPC evalúa la solicitud según las reglas de ruta asociadas a la regla de host coincidente.
Recursos de proxy de destino
Para añadir, eliminar, enumerar y obtener información sobre proxies de destino, puedes usar la API REST o la CLI de gcloud.
Además, para obtener información sobre un proxy de destino, puedes usar los siguientes comandos de gcloud
:
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME
APIs
Para ver las descripciones de las propiedades y los métodos disponibles al trabajar con proxies de destino a través de la API REST, consulta los siguientes recursos que admite Cloud Service Mesh:
CLI de gcloud
Para obtener información sobre Google Cloud CLI, consulta los siguientes recursos:
Siguientes pasos
- Para obtener más información sobre Cloud Service Mesh, consulta la información general sobre Cloud Service Mesh.
- Para desplegar Cloud Service Mesh, consulta la guía de documentación de despliegue de Cloud Service Mesh.