Limitaciones de Cloud Service Mesh con Envoy

En este documento, se describen las limitaciones que se aplican a Cloud Service Mesh con las APIs de Google Cloud, incluidas las limitaciones avanzadas de la administración del tráfico. No se aplica a Cloud Service Mesh con las APIs de Istio.

Para obtener más información sobre los límites, consulta Cuotas y límites.

Limitaciones generales

Las limitaciones de Cloud Service Mesh incluyen las siguientes:

  • Cloud Service Mesh con las APIs de enrutamiento de servicios solo es compatible con las APIs de Google Cloud.
  • Puedes usar Cloud Service Mesh para configurar los siguientes protocolos de solicitud: HTTP (HTTP/1.1 o HTTP/2), HTTPS, TCP y gRPC.
  • Cuando usas Envoy como el proxy de 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 Cloud Service Mesh.
  • Cuando usas el recurso TCPRoute para configurar el protocolo de solicitudes TCP, no puedes usar las funciones avanzadas de administración de tráfico. La administración avanzada del tráfico solo está disponible cuando configuras el plano de datos para controlar las solicitudes HTTP o gRPC.
  • Cloud Service Mesh admite el intercambio de tráfico entre redes de VPC con las APIs de enrutamiento de servicios.
  • Cloud Service Mesh no es compatible con los protocolos de servidor.
  • No puedes usar Cloud Service Mesh 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 de estándar abierto (xDS) con Cloud Service Mesh. Sin embargo, Google probó Cloud Service Mesh solo con el proxy de Envoy.
  • 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. Si deseas obtener más información para 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 NINGUNO, 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 tendrá efecto.
  • 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.

Limitaciones con el Directorio de servicios

  • El Directorio de servicios y Cloud Service Mesh 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 de Directorio de servicios al que está conectado el servicio de backend, las aplicaciones que usan Cloud Service Mesh 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.

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

¿Qué sigue?

  • Para obtener información sobre las limitaciones que se aplican a Cloud Service Mesh con aplicaciones de gRPC sin proxy, consulta Limitaciones de gRPC sin proxy.