(Aut2) Gestión del LoadBalancer de Plataforma desde Control Panel

nginx load balance

El reto planteado por el equipo Aut2, integrado por Jordi, Kristof y Petra y mentorizados por Jesús, consiste en integrar en el panel de control de la plataforma la gestión del Load Balancer, para poder realizar cambios en la configuración del balanceador NGINX y que estos sean aplicados en caliente, sin necesidad de entrar al gestor de la plataforma CaaS para editar el fichero de configuración y reiniciar el proceso.

¿Por qué este reto?

Debido a la experiencia previa trabajando con la plataforma, el equipo identificó que desde el Control Panel de plataforma se puede hacer una gestión muy completa de la configuración de múltiples componentes, pero no del Load Balancer (NGINX), el cual para hacer cambios en su configuración requiere de entrar en el contenedor o en la máquina física, editar la configuración y reiniciar el servicio del balanceador.

Esto se debe a que el módulo Load Balancer, se basa en la versión libre de NGINX (https://www.nginx.com/). Este balanceador centraliza todas las peticiones y las redirige internamente hacia los diferentes componentes desplegados en la plataforma de contenedores.  El problema que tiene la versión libre NGINX es que las redirecciones internas se configuran en un fichero y no admite cambios en caliente, por lo que cada vez que se añade un microservicio o se redespliega un módulo, NGINX no es consciente de ello hasta que se entra de forma manual al gestor de la plataforma de contenedores, se edita el fichero de configuración y se reinicia para que se consciente del cambio.

El Reto

El equipo desarrolló:

Componentes de la plataforma extendidos:

  • Control Panel: Se han añadido pantallas y funcionalidad a este módulo para poder gestionar de forma integrada la configuración del Load Balancer.
  • Load Balancer en CaaS: Se ha creado un nuevo componente dockerizado que permite extender la funcionalidad del módulo Load Balancer actual, para que la configuración del balanceador NGINX en el que se basa el módulo Load Balancer pueda ser modificada desde el Control Panel sin tener que acceder al CaaS.

Resultados

La contribución realizada a la plataforma se puede ver en el repositorio de github del equipo:

https://github.com/onesaitplatform/onesaitplatform-revolution-aut-2

Cuyo resultado en ejecución se puede apreciar en el siguiente vídeo, donde se hace una re-configuración en caliente del balanceador:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *