Proxies de destino para Cloud Service Mesh
Este documento se aplica solo a Cloud Service Mesh con las APIs de balanceo de cargas. Mié te recomendamos que utilices APIs de Service Enrutamiento para implementar 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 entregan dos propósitos principales:
Definir el protocolo que usan los clientes de la malla de servicios de Cloud cuando abrir una conexión a los backends o extremos asociados con un servicio.
Trabajar con reglas de reenvío y mapas de URL para crear un mapa de reglas de enrutamiento. El mapa de reglas de enrutamiento proporciona funciones adicionales, como reglas de enrutamiento, según el tipo de proxy de destino. Las selecciones no válidas se ocultan en la interfaz de usuario o la API las rechaza.
Tipos de proxy de destino y protocolos de solicitud
Cloud Service Mesh genera diferentes parámetros de configuración para sus clientes en función de el tipo de proxy de destino que configuras. Cuando configuras un destino tipo proxy, el cliente de la malla de servicios de Cloud 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 de gRPC |
TCP | Los clientes inician conexiones TCP |
No estás restringido a elegir un solo tipo. Por ejemplo, tu aplicación podría querer usar HTTP cuando se direcciona a algunos servicios, pero usa TCP cuando se direcciona a otros servicios. Para este caso de uso, 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 parámetros de configuración incorrectos, Cloud Service Mesh solo te permite crear reglas de enrutamiento mapas que tienen el siguiente aspecto:
- Regla de reenvío > Proxy HTTPS de destino global > Mapa de URL > uno o más servicios de backend
- Regla de reenvío > Proxy HTTP de destino global > Mapa de URL > uno o más servicios de backend
- Regla de reenvío > Proxy de gRPC de destino global > Mapa de URL > uno o más 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, el proxy de destino se configura de forma implícita como parte de la configuración del mapa de reglas de enrutamiento. Aún no se admite la configuración del proxy TCP en la consola de Google Cloud.
Si usas la CLI de Google Cloud o las API, debes configurar el proxy de destino de forma explícita.
Control del tráfico
En las siguientes secciones, se describen las formas de manejar el tráfico según el tipo de proxy de destino que uses.
Usa un proxy HTTP o HTTPS de destino
Cuando configuras servicios basados en HTTP o HTTPS, por lo general, cada instancia de servicio tiene un proxy de Envoy implementado junto a él. Cloud Service Mesh configura este proxy de Envoy. Es parte de tu plano de datos de malla de servicios y controla el tráfico de la siguiente manera.
El proxy de Envoy recibe la solicitud saliente. Luego, compara la dirección IP y el puerto de destino de la solicitud con la dirección IP y el puerto que se configura 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 URL correspondiente del proxy de destino.
Usa un proxy TCP de destino
Cuando configuras servicios basados en TCP, por lo general, cada instancia de servicio tiene un proxy de Envoy implementado junto a él. Cloud Service Mesh configura este proxy de Envoy. Es parte de tu plano de datos de malla de servicios y controla el tráfico de la siguiente manera.
El proxy de Envoy recibe la solicitud saliente. Luego, 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 enruta el tráfico de TCP a un proxy de destino que apunta a un servicio de backend predeterminado. El servicio de backend especifica una verificación de estado y determina el backend adecuado.
Usa un proxy de gRPC de destino
Cuando configuras servicios basados en gRPC, por lo general, las instancias de servicio, no tienen proxies de Envoy implementados junto con ellas. En cambio, Cloud Service Mesh configura la biblioteca de gRPC. La biblioteca es parte del plano de datos de la malla de servicios y controla el tráfico de la siguiente manera.
La biblioteca de gRPC compara el hostname[:port]
especificado en el URI con las reglas de host en todos los mapas de URL a los que hace referencia un proxy de gRPC de destino. Si se encuentra una coincidencia, la biblioteca de gRPC evaluará la solicitud según las reglas de ruta de acceso asociadas a la regla de host correspondiente.
Recursos del proxy de destino
Para agregar, borrar, enumerar y obtener información sobre los proxies de destino, puedes usar la API de 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
API
Para obtener descripciones de las propiedades y los métodos disponibles cuando trabajas con proxies de destino a través de la API de REST, consulta los siguientes recursos que admite Cloud Service Mesh:
CLI de gcloud
Para obtener más información sobre la CLI de Google Cloud, consulta los siguientes recursos:
¿Qué sigue?
- Para obtener más información sobre Cloud Service Mesh, consulta el Descripción general de Cloud Service Mesh.
- Para implementar Cloud Service Mesh, consulta la Guía de implementación de Cloud Service Mesh.