Comment déployer HAProxy dans un conteneur Docker

Comment Deployer Haproxy Dans Un Conteneur Docker



Avec HAProxy, vous pouvez le déployer dans un conteneur Docker au lieu de l'exécuter en tant que package sur votre système. L'utilisation de Docker garantit que vous n'interférez pas avec d'autres packages et constitue un moyen de disposer d'un environnement isolé pour exécuter HAProxy en tant que proxy inverse ou à d'autres fins. Exécuter HAProxy sur Docker est une tâche simple. Cet article explique les étapes à suivre. Continuer à lire!

Déployer HAProxy dans un conteneur Docker

Lorsque vous travaillez avec vos applications ou serveurs, HAProxy est pratique car il vous permet de contrôler le trafic pour obtenir des performances et une évolutivité élevées. De plus, Docker vous offre une plate-forme pour déployer et faire évoluer votre application de manière transparente. En combinant les deux, votre évolutivité et vos autres besoins de déploiement seront bien satisfaits.







En outre, les technologies HAProxy ont créé un ensemble d'images Docker que vous pouvez utiliser pour déployer HAProxy dans un conteneur Docker. Voici les étapes que vous devez suivre.



Étape 1 : démarrez Docker



Docker doit être installé sur votre système pour que vous puissiez le démarrer avant de déployer HAProxy. En fonction de la distribution que vous utilisez, assurez-vous d'avoir installé Docker. Pour ce tutoriel, nous travaillerons avec Ubuntu et vérifierons la version de Docker pour confirmer qu'elle est installée sur notre système.






Une fois le Docker installé, vérifiez son état pour vous assurer qu'il est en cours d'exécution. Vous pouvez le démarrer avec la commande suivante puis vérifier son état :

$ sudo systemctl démarrer le docker




Étape 2 : Obtenez l'image Docker officielle de HAProxy

L'image officielle HAProxy Docker est disponible sur le hub Docker. Vous pouvez le télécharger en le tirant avec la commande suivante :

$ sudo Docker Pull Haproxy


Confirmez que HAProxy a été téléchargé en vérifiant les images Docker disponibles.

$ sudo Images : docker


Étape 3 : Créer un réseau Docker

Puisque nous utiliserons les applications Web que nous souhaitons lier à HAProxy, un réseau de pont est requis. Par ailleurs, créer un réseau permet également de séparer les conteneurs afin que chacun utilise le sien.

Pour créer un réseau ponté, utilisez la syntaxe suivante :

$ sudo réseau docker créer nom_réseau


Vérifiez rapidement que le réseau a été créé en répertoriant les réseaux disponibles dans votre conteneur Docker.

$ sudo réseau Docker ls


Nous avons créé notre « réseau1a » et il apparaît dans le résultat suivant :


Étape 4 : Créer les applications Web backend

Nous créons deux instances Web à utiliser avec notre équilibreur de charge pour la démonstration. Docker propose différentes instances que vous pouvez utiliser. Pour ce cas, nous utilisons une image Nginx pour créer les applications web.

$ sudo exécution du docker -d --nom < nom de l'application Web > --réseau < nom de réseau > nginx


Créez l'autre instance.


Nous avons maintenant deux instances d'application Web sur notre Docker. Vérifiez cela en exécutant la commande « docker ps ».


Étape 5 : Créez votre fichier de configuration

Vous devez créer un fichier de configuration HAProxy que vous utiliserez avec votre Docker. Choisissez où enregistrer votre fichier de configuration. Ensuite, ouvrez-le avec un éditeur de texte. Nous utilisons nano pour ce cas et avons notre fichier de configuration stocké dans « /opt/haproxy/haproxy.cfg ».


Notre fichier de configuration se présente comme suit. Remarquez comment chaque section montre comment nous voulons que HAProxy répartisse la charge sur nos applications/serveurs Web :


Encore une fois, nous utilisons le port 80 pour les connexions frontales et le port 8404 pour les écouteurs.


Assurez-vous d'avoir ajouté le nom correct de votre application Web dans la section backend du fichier de configuration. Vous pouvez également utiliser les adresses IP de vos applications Web au lieu de leurs noms d'hôte. Enfin, enregistrez et quittez le fichier. Vous pouvez ensuite redémarrer HAProxy.


Au lieu de créer un fichier de configuration, vous pouvez créer un fichier Docker qui copie un fichier de configuration existant, puis créer le conteneur. N'hésitez pas à utiliser la méthode qui vous convient le mieux.

Étape 6 : Déployer HAProxy

Nous devons maintenant créer un conteneur HAProxy, l'exécuter et mapper son port sur celui que nous avons inclus dans le fichier de configuration. Nous nommons notre conteneur « haproxycontainer2 » et mappons les ports 80 et 8404 de l'hôte à ceux du conteneur Docker.


Avec cela, vous avez réussi à déployer HAProxy dans un conteneur Docker. Vous pouvez désormais accéder à vos applications/serveurs Web. Tout trafic qui leur est acheminé sera distribué à l'aide de HAProxy pour garantir que l'équilibrage de charge se produit.

Conclusion

HAProxy aide à l'équilibrage de charge et à d'autres applications. Lorsque vous travaillez avec Docker, il est possible de déployer HAProxy de telle sorte que vos applications Web ou votre environnement de développement bénéficient d'un moyen pratique d'équilibrage de charge. Cet article partage les étapes pour déployer HAProxy dans un conteneur Docker. Suivez-les et faites de même pour votre cas.