Resolver problemas de escalado de Istiod en Cloud Service Mesh

En esta sección se explican los problemas habituales de Cloud Service Mesh y cómo resolverlos. Si necesitas más ayuda, consulta el artículo Obtener asistencia.

Factores de escala

Istiod envía la configuración a cada sidecar mediante un flujo gRPC de larga duración. Tiene varias características que afectan al escalado:

  • El tamaño de la configuración que se va a generar:
    • Número total de servicios/pods y recursos de Istio
    • Para grandes volúmenes, ajusta la configuración de Sidecar para reducir el tamaño de la configuración.
  • El porcentaje de cambio en el entorno:
    • Cuando se crea un servicio nuevo o se cambia la configuración de Istio, se envían actualizaciones completas a los proxies.
    • Añadir nuevos endpoints no es caro en términos de rendimiento, ya que solo se envían actualizaciones incrementales.
  • Número de proxies para los que se genera la configuración:
    • A este límite le afecta el número de pasarelas y pods con un sidecar.

Consideraciones sobre el escalado

Istiod se adapta bien verticalmente (solicitudes grandes) y horizontalmente (más réplicas). Asegúrate de que los límites de CPU no sean demasiado restrictivos. Si Istiod alcanza el límite de CPU, puede producirse una limitación que afecte negativamente a la distribución de la configuración. Si tienes problemas de rendimiento, te recomendamos que actualices a la versión más reciente de Cloud Service Mesh, ya que cada versión tiene optimizaciones de rendimiento.

Carga desequilibrada

Los cambios importantes en el tamaño del clúster pueden provocar una carga desequilibrada temporalmente debido a las conexiones de larga duración. Esto se mitiga con una antigüedad máxima de conexión de 30 minutos, lo que puede provocar que aparezcan mensajes de error en Envoy, como gRPC config stream closed: 13, que permite que la carga se vuelva a equilibrar de forma natural.

Para mitigar este problema, ten varias réplicas de Istiod (el valor predeterminado es 2 réplicas) y haz un preescalado si prevés que el clúster se va a ampliar de forma extrema.