Instalar en múltiples clústeres

Instala una mesh de Istio en modo ambient en múltiples clústeres de Kubernetes.

Sigue esta guía para instalar una mesh de servicio ambient de Istio que abarca múltiples clústeres.

Estado actual y limitaciones

Antes de proceder con la instalación multiclúster en modo ambient, es fundamental entender el estado actual y las limitaciones de esta característica.

Limitaciones conocidas

Interoperabilidad con despliegues de sidecar

Existen múltiples problemas al habilitar multiclúster en modo ambient junto con despliegues de sidecar. Los problemas conocidos se rastrean bajo la etiqueta migrate-sidecar-to-ambient.

Restricciones de topología de red

Las configuraciones multiclúster de red única no han sido probadas y pueden estar rotas:

  • Usa precaución al desplegar ambient en clústeres que comparten la misma red
  • Solo se soportan configuraciones multi-red

Limitaciones del control plane

La configuración primary-remote no está soportada actualmente:

  • Solo puedes tener múltiples clústeres primarios
  • Las configuraciones con uno o más clústeres remotos no funcionarán correctamente

Requisitos de waypoint

Se asume que los despliegues de waypoint son uniformes entre clústeres:

  • Todos los clústeres deben tener despliegues de waypoint con nombres idénticos
  • Las configuraciones de waypoint deben sincronizarse manualmente entre clústeres (por ejemplo, usando Flux, ArgoCD o herramientas similares)
  • El enrutamiento de tráfico depende de convenciones de nombres de waypoint consistentes

Visibilidad y alcance de servicios

Las configuraciones de alcance de servicio no se leen entre clústeres:

  • Solo se soportan configuraciones de alcance de servicio uniformes — el alcance del servicio debe coincidir en todos los clústeres
  • Solo la configuración de alcance de servicio del clúster local se usa como fuente de verdad
  • Los alcances de servicio de clústeres remotos no se respetan, lo que puede llevar a comportamiento inesperado de tráfico cuando el mismo servicio tiene diferentes alcances en diferentes clústeres
  • El descubrimiento de servicios entre clústeres puede no respetar los límites de servicio previstos

Si el waypoint de un servicio está marcado como global, ese servicio también será global:

  • Esto puede llevar a tráfico entre clústeres no deseado en despliegues multiclúster de red única
  • La solución a este problema se rastrea aquí

Distribución de carga en red remota

El tráfico hacia una red remota no se distribuye igualmente entre endpoints:

  • Al hacer failover a una red remota, un solo endpoint en una red remota puede recibir un número desproporcionado de requests debido al multiplexing de requests HTTP y el pooling de conexiones
  • Un problema muy similar existe actualmente también en modo sidecar
  • La solución a este problema se rastrea aquí