Cómo implementar HAProxy en un contenedor Docker

Como Implementar Haproxy En Un Contenedor Docker



Con HAProxy, puede implementarlo en un contenedor Docker en lugar de ejecutarlo como un paquete en su sistema. El uso de Docker garantiza que no interfiera con otros paquetes y es una forma de tener un entorno aislado para ejecutar HAProxy como proxy inverso o para otros fines. Ejecutar HAProxy en Docker es una tarea sencilla. En este post se analizan los pasos a seguir. ¡Sigue leyendo!

Implementación de HAProxy en un contenedor Docker

Cuando trabaja con sus aplicaciones o servidores, HAProxy es útil porque le permite controlar el tráfico para lograr un alto rendimiento y escalabilidad. Además, Docker le brinda una plataforma para implementar y escalar su aplicación sin problemas. Combinando los dos, sus necesidades de escalabilidad y otras necesidades de implementación quedarán bien satisfechas.







Además, las tecnologías HAProxy han creado un conjunto de imágenes de Docker que puede utilizar para implementar HAProxy en un contenedor Docker. Los siguientes son los pasos que debes seguir.



Paso 1: inicie Docker



Su sistema debe tener Docker instalado para poder iniciarlo antes de implementar HAProxy. Dependiendo de la distribución que esté utilizando, asegúrese de haber instalado Docker. Para este tutorial, trabajaremos con Ubuntu y verificaremos la versión de Docker para confirmar que está instalada en nuestro sistema.






Una vez que tenga Docker instalado, verifique su estado para asegurarse de que se esté ejecutando. Puede iniciarlo con el siguiente comando y luego verificar su estado:

$ sudo ventana acoplable de inicio systemctl

 



Paso 2: Obtenga la imagen oficial de Docker de HAProxy

La imagen oficial de HAProxy Docker está disponible en Docker Hub. Puede descargarlo tirando de él con el siguiente comando:

$ sudo docker tire haproxy

 

Confirmar que tenemos HAProxy descargado comprobando las imágenes de Docker disponibles.

$ sudo Imágenes de docker

 

Paso 3: cree una red Docker

Dado que usaremos las aplicaciones web que queremos vincular a HAProxy, se requiere una red puente. Además, crear una red también ayuda a separar los contenedores para que cada uno utilice el suyo.

Para crear una red puenteada, utilice la siguiente sintaxis:

$ sudo red acoplable crear nombre_red

 

Verifique rápidamente que la red se haya creado enumerando las redes disponibles en su contenedor Docker.

$ sudo red acoplable es

 
Tenemos nuestra “red1a” creada y aparece en el siguiente resultado:


Paso 4: crear las aplicaciones web backend

Creamos dos instancias web para usar con nuestro balanceador de carga para la demostración. Docker tiene diferentes instancias que puedes usar. Para este caso, utilizamos una imagen de Nginx para crear las aplicaciones web.

$ sudo ejecución de la ventana acoplable -d --nombre < nombre-aplicación-web > --red < nombre de red > nginx

 

Crea la otra instancia.


Ahora tenemos dos instancias de aplicaciones web en nuestro Docker. Verifique esto ejecutando el comando 'docker ps'.


Paso 5: cree su archivo de configuración

Debe crear un archivo de configuración HAProxy que usará con su Docker. Elija dónde guardar su archivo de configuración. Luego, ábrelo con un editor de texto. Estamos usando nano para este caso y tenemos nuestro archivo de configuración almacenado en “/opt/haproxy/haproxy.cfg”.


Nuestro archivo de configuración tiene el siguiente aspecto. Observe cómo cada sección muestra cómo queremos que HAProxy distribuya la carga en nuestras aplicaciones/servidores web:


Nuevamente, usamos el puerto 80 para las conexiones frontend y el puerto 8404 para los oyentes.


Asegúrese de haber agregado el nombre correcto para su aplicación web en la sección backend del archivo de configuración. También puede utilizar las direcciones IP de sus aplicaciones web en lugar de sus nombres de host. Por último, guarde y salga del archivo. Luego puede reiniciar HAProxy.


En lugar de crear un archivo de configuración, puede crear un archivo Docker que copie un archivo de configuración existente y luego cree el contenedor. Siéntase libre de utilizar el método que mejor funcione para usted.

Paso 6: implementar HAProxy

Ahora debemos crear un contenedor HAProxy, ejecutarlo y asignar su puerto al que incluimos en el archivo de configuración. Llamamos a nuestro contenedor 'haproxycontainer2' y asignamos los puertos 80 y 8404 del host a los del contenedor Docker.


Con eso, logró implementar HAProxy en un contenedor Docker. Ahora puede acceder a sus aplicaciones/servidores web. Cualquier tráfico que se canalice hacia ellos se distribuirá mediante HAProxy para garantizar que se produzca el equilibrio de carga.

Conclusión

HAProxy ayuda con el equilibrio de carga y otras aplicaciones. Cuando se trabaja con Docker, es posible implementar HAProxy de modo que sus aplicaciones web o entorno de desarrollo obtengan una forma conveniente de equilibrio de carga. Esta publicación compartió los pasos para implementar HAProxy en un contenedor Docker. Síguelos y haz lo mismo en tu caso.