Hoe HAProxy in een Docker-container te implementeren

Hoe Haproxy In Een Docker Container Te Implementeren



Met HAProxy kunt u het in een Docker-container implementeren in plaats van het als pakket op uw systeem uit te voeren. Het gebruik van Docker zorgt ervoor dat u andere pakketten niet hindert en is een manier om een ​​afgezonderde omgeving te hebben waarin u HAProxy kunt uitvoeren als uw reverse proxy of voor andere doeleinden. HAProxy uitvoeren op Docker is een eenvoudige taak. In dit bericht worden de te volgen stappen besproken. Lees verder!

HAProxy implementeren in een Docker-container

Wanneer u met uw applicaties of servers werkt, is HAProxy handig omdat u het verkeer kunt controleren om hoge prestaties en schaalbaarheid te bereiken. Bovendien biedt Docker u een platform om uw applicatie naadloos te implementeren en te schalen. Door deze twee te combineren, wordt goed voldaan aan uw schaalbaarheid en andere implementatiebehoeften.







Bovendien hebben HAProxy-technologieën een set Docker-images gebouwd die u kunt gebruiken om HAProxy in een Docker-container te implementeren. Hieronder volgen de stappen die u moet volgen.



Stap 1: Start Docker



Op uw systeem moet de Docker zijn geïnstalleerd voordat u HAProxy kunt implementeren. Afhankelijk van welke distributie je gebruikt, zorg ervoor dat je Docker hebt geïnstalleerd. Voor deze tutorial werken we met Ubuntu en controleren we de Docker-versie om te bevestigen dat deze op ons systeem is geïnstalleerd.






Nadat u de Docker hebt geïnstalleerd, controleert u de status ervan om er zeker van te zijn dat deze actief is. U kunt het starten met de volgende opdracht en vervolgens de status ervan controleren:

$ sudo systemctl start docker




Stap 2: Verkrijg de officiële Docker-image van HAProxy

De officiële HAProxy Docker-image is beschikbaar via de Docker-hub. Je kunt het downloaden door het te trekken met de volgende opdracht:

$ sudo docker pull haproxy


Bevestig dat we HAProxy hebben gedownload door de beschikbare Docker-images te controleren.

$ sudo docker-afbeeldingen


Stap 3: Maak een Docker-netwerk

Omdat we gebruik gaan maken van de webapplicaties die we aan HAProxy willen koppelen, is een bridge-netwerk noodzakelijk. Bovendien helpt het creëren van een netwerk ook om de containers van elkaar te scheiden, zodat elke container zijn eigen container gebruikt.

Gebruik de volgende syntaxis om een ​​overbrugd netwerk te maken:

$ sudo docker-netwerk maak netwerknaam


Controleer snel of het netwerk is aangemaakt door de beschikbare netwerken in uw Docker-container op te sommen.

$ sudo docker-netwerk ls


We hebben ons “netwerk1a” gemaakt en het verschijnt in de volgende uitvoer:


Stap 4: Maak de backend-webapplicaties

We maken twee webinstanties om te gebruiken met onze load balancer voor de demonstratie. Docker heeft verschillende instanties die u kunt gebruiken. In dit geval gebruiken we een Nginx-afbeelding om de webapplicaties te maken.

$ sudo havenarbeider uitgevoerd -D --naam < web-app-naam > --netwerk < netwerknaam > nginx


Maak het andere exemplaar.


We hebben nu twee webapplicatie-instanties op onze Docker. Controleer dit door de opdracht “docker ps” uit te voeren.


Stap 5: Maak uw configuratiebestand

U moet een HAProxy-configuratiebestand maken dat u met uw Docker gaat gebruiken. Kies waar u uw configuratiebestand wilt opslaan. Open het vervolgens met een teksteditor. We gebruiken nano voor dit geval en hebben ons configuratiebestand opgeslagen in “/opt/haproxy/haproxy.cfg”.


Ons configuratiebestand ziet er als volgt uit. Merk op hoe elke sectie laat zien hoe we willen dat HAProxy de belasting op onze webapplicaties/servers verdeelt:


Nogmaals, we gebruiken poort 80 voor de frontend-verbindingen en poort 8404 voor de luisteraars.


Zorg ervoor dat u de juiste naam voor uw webapplicatie hebt toegevoegd onder de backend-sectie van het configuratiebestand. U kunt ook de IP-adressen van uw webapplicaties gebruiken in plaats van hun hostnamen. Sla ten slotte het bestand op en sluit het af. Vervolgens kunt u HAProxy opnieuw opstarten.


In plaats van een configuratiebestand te maken, kunt u een Docker-bestand maken dat een bestaand configuratiebestand kopieert en vervolgens de container bouwt. Voel je vrij om de methode te gebruiken die voor jou het beste werkt.

Stap 6: HAProxy implementeren

We moeten nu een HAProxy-container maken, deze uitvoeren en de poort ervan toewijzen aan de poort die we in het configuratiebestand hebben opgenomen. We noemen onze container ‘haproxycontainer2’ en wijzen de poorten 80 en 8404 van de host toe aan die op de Docker-container.


Daarmee is het je gelukt om HAProxy in een Docker-container te implementeren. U heeft nu toegang tot uw webapplicaties/servers. Al het verkeer dat naar hen wordt gekanaliseerd, wordt gedistribueerd met behulp van HAProxy om ervoor te zorgen dat de taakverdeling plaatsvindt.

Conclusie

HAProxy helpt bij load-balancing en andere toepassingen. Wanneer u met Docker werkt, is het mogelijk om HAProxy zo in te zetten dat uw webapplicaties of ontwikkelomgeving een handige manier van taakverdeling krijgt. In dit bericht werden de stappen gedeeld om HAProxy in een Docker-container te implementeren. Volg ze en doe hetzelfde voor uw zaak.