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:
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.