Limitaciones de Traffic Director con Envoy

En este documento, se describen las limitaciones que se aplican a Traffic Director, incluidas las limitaciones de la administración avanzada del tráfico. Para obtener más información sobre los límites, consulta Cuotas y límites.

Limitaciones generales

Las limitaciones de Traffic Director incluyen las siguientes:

  • Traffic Director solo es compatible con las API de Google Cloud. Traffic Director no es compatible con las API de Istio.
  • Puedes usar Traffic Director para configurar los siguientes protocolos de solicitud: HTTP (HTTP/1.1 o HTTP/2), HTTPS, TCP y gRPC.
  • Cuando usas Envoy como el proxy del plano de datos, el valor stream_idle_timeout se establece de forma predeterminada en 5 minutos. Esto no se puede configurar a través de Traffic Director.
  • Cuando usas el recurso de proxy TCP de destino para configurar el protocolo de solicitud TCP, no puedes usar las funciones avanzadas de administración del tráfico. La administración avanzada del tráfico solo está disponible cuando configuras el plano de datos para controlar solicitudes HTTP o gRPC.
  • Traffic Director es compatible con la VPC compartida. Ten en cuenta lo siguiente:

    • Con las APIs de balanceo de cargas, una regla de reenvío y su proxy de destino, mapa de URL, servicio de backend y backend asociados deben estar en un solo proyecto, que puede ser un proyecto host o de servicio. Si tienes varios proyectos de servicio, cada proyecto de servicio puede tener su propio conjunto de estos recursos.
    • Con las APIs de balanceo de cargas, de forma predeterminada, una regla de reenvío que hace referencia a una red de VPC compartida se anuncia a todos los proxies de Envoy en los proyectos host y de servicio vinculados al proyecto host, siempre que estos proxies especifiquen la red de VPC compartida en sus archivos bootstrap/sidecar.env. Para personalizar este comportamiento, usa el filtrado de configuración.
    • Puedes acceder a Traffic Director solo mediante las cuentas de servicio de los proyectos que tienen al menos una regla de reenvío con el esquema de balanceo de cargas INTERNAL_SELF_MANAGED asociado a la red de VPC compartida.
  • Traffic Director admite el intercambio de tráfico entre redes de VPC con las APIs de enrutamiento de servicios, pero no con las APIs de balanceo de cargas.

  • Traffic Director no es compatible con los protocolos que priorizan el servidor.

  • No puedes usar Traffic Director con servicios que se ejecutan en Knative o la computación sin servidores de Google Cloud.

  • En este documento, se analizan los proxies de Envoy, pero puedes usar cualquier proxy de API abierta estándar (xDS) con Traffic Director. Sin embargo, Google probó Traffic Director solo con el proxy de Envoy.

  • Para trabajar con Traffic Director, usa la versión 1.9.1 de Envoy o una posterior.

  • Para usar la expresión regular, usa la versión 1.12.0 de Envoy o una posterior. Las versiones de Envoy anteriores a la 1.12.0 no admiten la expresión regular.

  • Para garantizar que se mitiguen todas las vulnerabilidades de seguridad conocidas, te recomendamos que uses la versión más reciente de Envoy. Para obtener información sobre las asesorías de seguridad de Envoy, consulta Asesorías de seguridad de Envoy.

  • La consola de Google Cloud no admite grupos de extremos de red (NEG) de conectividad híbrida. Para crear o borrar los NEG de conectividad híbrida, usa la CLI de Google Cloud.

  • Debido a que tu plano de datos controla las verificaciones de estado, no puedes usar la consola de Google Cloud, la API ni la CLI de gcloud para recuperar el estado de la verificación de estado.

  • Revisa iptables y asegúrate de que esté configurado correctamente. Para obtener más información sobre cómo configurar iptables, consulta las notas de Envoy sobre la configuración del filtrado de HTTP.

    • Si usas la consola de Google Cloud para crear instancias de máquina virtual (VM), algunos módulos relacionados con ipv6 no se instalan ni están disponibles antes de reiniciar. Como resultado, iptables.sh falla debido a la falta de dependencias. En ese caso, reinicia la VM y vuelve a ejecutar la secuencia de comandos run.sh.
    • Si usas la CLI de gcloud para crear VM de Compute Engine, no se espera que tengas este problema.

Limitaciones de la administración del tráfico avanzada

Las limitaciones de la administración avanzada del tráfico incluyen las siguientes:

  • Si el valor de BackendService.sessionAffinity no es NONE, y BackendService.localityLbPolicy se establece en una política de balanceo de cargas distinta de MAGLEV o RING_HASH, la configuración de afinidad de sesión no se aplicará.
  • Con el comando gcloud import, no se borran los campos de nivel superior del recurso, como el servicio de backend y el mapa de URL. Por ejemplo, si se crea un servicio de backend con configuración de circuitBreakers, puedes usar un comando gcloud import posterior para actualizar esa configuración. Sin embargo, no se puede borrar esa configuración del servicio de backend. Puedes borrar y volver a crear el recurso sin la configuración circuitBreakers.
  • La importación de reglas de reenvío no funciona de forma adecuada; no puedes volver a importar un archivo YAML exportado. La solución alternativa es exportar el archivo de configuración, realizar cambios, borrar la regla de reenvío y, luego, importar el archivo de configuración.

Limitaciones con el Directorio de servicios

  • El Directorio de servicios y Traffic Director no garantizan la accesibilidad de la red para los clientes.
  • Un servicio de backend solo puede hacer referencia a uno de los siguientes elementos:

    • Grupo de instancias administrado o grupo de instancias no administrado
    • Grupo de extremos de red
    • Vinculaciones del servicio
  • Los servicios del Directorio de servicios solo se pueden usar con servicios de backend globales con load-balancing-scheme=INTERNAL_SELF_MANAGED.

  • Se puede borrar un servicio del Directorio de servicios al que hace referencia una vinculación del servicio. Si se borra el servicio subyacente del Directorio de servicios al que se adjunta el servicio de backend, las aplicaciones que usan Traffic Director no pueden enviar tráfico a este servicio y, por lo tanto, las solicitudes fallan. Consulta Observabilidad y depuración para conocer las prácticas recomendadas.

Verificaciones de estado

Cuando vinculas un servicio del Directorio de servicios a un servicio de backend, no puedes configurar una verificación de estado en el servicio de backend.

¿Qué sigue?