Limitaciones de Cloud Service Mesh con Envoy
En este documento se describen las limitaciones que se aplican a Cloud Service Mesh con lasGoogle Cloud APIs, incluidas las limitaciones de gestión avanzada del tráfico. No se aplica a Cloud Service Mesh con las APIs de Istio.
Para obtener información sobre los límites, consulta Cuotas y límites.
Limitaciones generales
Entre las limitaciones de Cloud Service Mesh se incluyen las siguientes:
- Cloud Service Mesh con las APIs de enrutamiento de servicios solo admite APIsGoogle Cloud .
- Puedes usar Cloud Service Mesh para configurar los siguientes protocolos de solicitud: HTTP (HTTP/1.1 o HTTP/2), HTTPS, TCP y gRPC.
- Si 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. - Si usas el recurso
TCPRoute
para configurar el protocolo de solicitud TCP, no podrás usar las funciones de gestión avanzada del tráfico. La gestión avanzada del tráfico solo está disponible cuando se configura el plano de datos para gestionar solicitudes HTTP o gRPC. - Cloud Service Mesh admite el emparejamiento de redes de VPC con las APIs de enrutamiento de servicios.
- Cloud Service Mesh no admite protocolos de servidor primero.
- No puedes usar Cloud Service Mesh con servicios que se ejecuten en Knative o Google Cloud Informática sin servidor.
- En este documento se habla de los proxies de Envoy, pero puedes usar cualquier proxy de API de estándar abierto (xDS) con Cloud Service Mesh. Sin embargo, Google solo ha probado Cloud Service Mesh con el proxy Envoy.
- Para asegurarte de que se mitigan todas las vulnerabilidades de seguridad conocidas, te recomendamos que uses la versión más reciente de Envoy. Para obtener información sobre los avisos de seguridad de Envoy, consulta Avisos de seguridad de Envoy.
- La consola Google Cloud no admite grupos de extremos de red (NEGs) de conectividad híbrida. Para crear o eliminar NEGs de conectividad híbrida, usa Google Cloud CLI.
- Como tu plano de datos gestiona las comprobaciones de estado, no puedes usar laGoogle Cloud consola, la API ni la CLI de gcloud para obtener el estado de las comprobaciones de estado.
Comprueba
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 HTTP.- Si usas la Google Cloud consola para crear instancias de máquina virtual (VM),
ipv6
algunos módulos relacionados no se instalan ni están disponibles hasta que se reinicia. Por lo tanto,iptables.sh
falla debido a que faltan dependencias. En ese caso, reinicia la VM y vuelve a ejecutar la secuencia de comandosrun.sh
. - Si usas la CLI de gcloud para crear VMs de Compute Engine, no deberías tener este problema.
- Si usas la Google Cloud consola para crear instancias de máquina virtual (VM),
Limitaciones de la gestión avanzada del tráfico
Las limitaciones de la gestión avanzada del tráfico son las siguientes:
- Si el valor de
BackendService.sessionAffinity
no es NONE yBackendService.localityLbPolicy
se define como una política de balanceo de carga distinta deMAGLEV
oRING_HASH
, los ajustes de afinidad de sesión no tendrán efecto. - El comando
gcloud import
no elimina los campos de nivel superior del recurso, como el servicio backend y el mapa de URLs. Por ejemplo, si se crea un servicio de backend con ajustes paracircuitBreakers
, puedes usar un comandogcloud import
posterior para actualizar esos ajustes. Sin embargo, no puedes eliminar esos ajustes del servicio backend. Puedes eliminar y volver a crear el recurso sin la configuración decircuitBreakers
.
Limitaciones de Directorio de servicios
- Service Directory 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 gestionado o sin gestionar
- Grupo de puntos finales de red
- Enlaces a servicios
Los servicios de Service Directory solo se pueden usar con servicios de backend globales con
load-balancing-scheme=INTERNAL_SELF_MANAGED
.Se puede eliminar un servicio de Directorio de servicios al que haga referencia un enlace de servicio. Si se elimina el servicio de Service Directory subyacente al que está asociado el servicio de backend, las aplicaciones que usen Cloud Service Mesh no podrán enviar tráfico a este servicio y, por lo tanto, las solicitudes fallarán. Consulta las prácticas recomendadas para la observabilidad y la depuración.
Cuando vinculas un servicio de Service Directory a un servicio de backend, no puedes configurar una comprobación de estado en ese servicio de backend.
Siguientes pasos
- Para obtener información sobre las limitaciones que se aplican a Cloud Service Mesh con aplicaciones gRPC sin proxy, consulta Limitaciones de gRPC sin proxy.