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 de la administración avanzada 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:

  • La malla de servicios de Cloud con las APIs de enrutamiento de servicios solo admite 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 proxy de plano de datos, el valor de stream_idle_timeout es de 5 minutos de forma predeterminada. No se puede configurar a través de Cloud Service Mesh.
  • Cuando usas el recurso TCPRoute para configurar la solicitud de 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 HTTP o gRPC solicitudes.
  • Cloud Service Mesh admite el intercambio de tráfico entre redes de VPC con las APIs de enrutamiento de servicios.
  • Cloud Service Mesh no admite protocolos de prioridad del 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 abierta estándar (xDS) con Service Mesh de Cloud. 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. Más información sobre cómo configurar iptables; consulta las notas de Envoy sobre la configuración Filtrado 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 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.

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 del Directorio de servicios al que se adjunta 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 del Directorio de servicios a un servicio de backend, no puedes configurar una verificación de estado en ese servicio de backend.

¿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.