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:
- Cloud Service Mesh con las APIs de enrutamiento de servicio 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 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 el protocolo de solicitud 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 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 admite protocolos de servidor en primer lugar.
- 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. Para obtener más información sobre cómo configurariptables
, 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 comandosrun.sh
. - Si usas la CLI de gcloud para crear VM de Compute Engine, no se espera que tengas este problema.
- Si usas la consola de Google Cloud para crear instancias de máquina virtual (VM), algunos módulos relacionados con
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 yBackendService.localityLbPolicy
se establece en una política de balanceo de cargas distinta deMAGLEV
oRING_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 decircuitBreakers
, puedes usar un comandogcloud 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óncircuitBreakers
.
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.