es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

istio-ingress v.s. nginx-ingress, ¿cuál se debería usar?

Aquí hay una pregunta sobre el Kubernetes Ingress.

Digamos que se agregan con frecuencia nuevos servicios a un clúster y, por lo tanto, se requiere agregar reglas de enrutamiento con frecuencia.

Por ejemplo, cada 0.1 segundos se crea un nuevo servicio llamado {UUID}WorkerSvc y, por lo tanto, necesitaría agregar una regla de enrutamiento Host: {UUID}WorkerSvc.example.com -> Service: {UUID}WorkerSvc para él.

Me pregunto cuál sería una solución óptima para eso (una que pueda garantizar conexiones existentes desde el cliente a los servicios anteriores).

1) (usando nginx-ingress) Cada 0.1 segundos, crear un nuevo recurso de ingreso de nginx como Host: {UUID}WorkerSvc.example.com -> Service: {UUID}WorkerSvc.

He notado que cada vez que se agrega una nueva ruta dentro de un ingreso, la instancia de nginx requiere una recarga, lo que posiblemente causa que las conexiones existentes fallen.

2) (usando istio) Cada 0.1 segundos, crear un servicio virtual de istio como Host: {UUID}WorkerSvc.example.com -> Service: {UUID}WorkerSvc.

(Sé poco al respecto, pero creo que agregar un servicio virtual a istio resultaría en una reconfiguración del piloto).

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnologías de la información especializado en Kubernetes, Kubernetes-ingress, Istio y Nginx-ingress, recomendaría utilizar Istio para este escenario. Istio proporciona una forma de gestionar el tráfico entre servicios en un clúster Kubernetes y puede actualizar dinámicamente las reglas de enrutamiento sin interrumpir las conexiones existentes.

    Cuando se crea un nuevo servicio, puedes utilizar los Servicios Virtuales de Istio para definir las reglas de enrutamiento para ese servicio. Como mencionaste, añadir un nuevo servicio virtual provocará una reconfiguración del piloto, pero esto se realiza de manera que garantiza que las conexiones existentes no se interrumpan. Istio utiliza un proxy de acoplamiento lateral para establecer y gestionar las conexiones entre servicios, y este proxy puede manejar las actualizaciones de enrutamiento sin problemas.

    Si bien Nginx-ingress es una opción popular para gestionar el tráfico en clústeres Kubernetes, su comportamiento de recarga puede interrumpir las conexiones existentes. Por esta razón, recomendaría utilizar Istio en este escenario para garantizar actualizaciones confiables y sin problemas en las reglas de enrutamiento.

Comments are closed.