Sådan implementeres HAProxy i en Docker-container

Sadan Implementeres Haproxy I En Docker Container



Med HAProxy kan du implementere det i en Docker-container i stedet for at køre det som en pakke på dit system. Brug af Docker sikrer, at du ikke forstyrrer andre pakker og er en måde at have et afsondret miljø til at køre HAProxy som din omvendte proxy eller til andre formål. At køre HAProxy på Docker er en ligetil opgave. Dette indlæg diskuterer de trin, der skal følges. Læs videre!

Implementering af HAProxy i en Docker-container

Når du arbejder med dine applikationer eller servere, er HAProxy praktisk til at give dig mulighed for at kontrollere trafikken for at opnå en høj ydeevne og skalerbarhed. Derudover giver Docker dig en platform til at implementere og skalere din applikation problemfrit. Ved at kombinere de to, vil din skalerbarhed og andre implementeringsbehov blive godt opfyldt.







Desuden har HAProxy-teknologier bygget et sæt Docker-billeder, som du kan bruge til at implementere HAProxy i en Docker-container. Følgende er de trin, du skal følge.



Trin 1: Start Docker



Dit system skal have Docker installeret, for at du kan starte det, før du implementerer HAProxy. Afhængigt af hvilken distro du bruger, skal du sikre dig, at du har installeret Docker. Til denne tutorial arbejder vi med Ubuntu og tjekker Docker-versionen for at bekræfte, at den er installeret på vores system.






Når du har installeret Docker, skal du kontrollere dens status for at sikre, at den kører. Du kan starte den med følgende kommando og derefter kontrollere dens status:

$ sudo systemctl start docker




Trin 2: Få HAProxy Official Docker-billedet

Det officielle HAProxy Docker-billede er tilgængeligt fra Docker-hubben. Du kan downloade den ved at trække den med følgende kommando:

$ sudo docker pull haproxy


Bekræft, at vi har downloadet HAProxy ved at kontrollere de tilgængelige Docker-billeder.

$ sudo docker billeder


Trin 3: Opret et Docker-netværk

Da vi vil bruge de webapplikationer, som vi ønsker at linke til HAProxy, er et bridge-netværk påkrævet. Desuden hjælper oprettelse af et netværk også med at adskille containerne, så hver bruger sin egen.

For at oprette et brokoblet netværk skal du bruge følgende syntaks:

$ sudo docker-netværk opret netværksnavn


Bekræft hurtigt, at netværket er blevet oprettet ved at angive de tilgængelige netværk i din Docker-beholder.

$ sudo docker netværk ls


Vi har oprettet vores 'netværk1a', og det vises i følgende output:


Trin 4: Opret backend-webapplikationerne

Vi opretter to web-instanser til brug med vores load balancer til demonstrationen. Docker har forskellige instanser, som du kan bruge. I dette tilfælde bruger vi et Nginx-billede til at oprette webapplikationerne.

$ sudo docker-løb -d --navn < web-app-navn > --netværk < netværksnavn > nginx


Opret den anden instans.


Vi har nu to webapplikationsforekomster på vores Docker. Bekræft dette ved at køre kommandoen 'docker ps'.


Trin 5: Opret din konfigurationsfil

Du skal oprette en HAProxy-konfigurationsfil, som du vil bruge med din Docker. Vælg, hvor du vil gemme din konfigurationsfil. Åbn den derefter med en teksteditor. Vi bruger nano til dette tilfælde og har vores konfigurationsfil gemt i '/opt/haproxy/haproxy.cfg'.


Vores konfigurationsfil ser ud som følger. Bemærk, hvordan hvert afsnit viser, hvordan vi ønsker, at HAProxy skal fordele belastningen på vores webapplikationer/servere:


Igen bruger vi port 80 til frontend-forbindelserne og port 8404 til lytterne.


Sørg for, at du tilføjede det korrekte navn til din webapplikation under backend-sektionen af ​​konfigurationsfilen. Du kan også bruge IP-adresserne til dine webapplikationer i stedet for deres værtsnavne. Til sidst skal du gemme og afslutte filen. Du kan derefter genstarte HAProxy.


I stedet for at oprette en konfigurationsfil, kan du oprette en Docker-fil, der kopierer en eksisterende konfigurationsfil og derefter bygge containeren. Brug gerne den metode, der passer bedst til dig.

Trin 6: Implementer HAProxy

Vi skal nu oprette en HAProxy-beholder, køre den og kortlægge dens port til den, vi inkluderede i konfigurationsfilen. Vi navngiver vores container som 'haproxycontainer2' og kortlægger portene 80 og 8404 fra værten til dem på Docker-containeren.


Med det lykkedes det dig at implementere HAProxy i en Docker-container. Du kan nu få adgang til dine webapplikationer/servere. Enhver trafik, der kanaliseres til dem, vil blive distribueret ved hjælp af HAProxy for at sikre, at belastningsbalanceringen finder sted.

Konklusion

HAProxy hjælper med belastningsbalancering og andre applikationer. Når du arbejder med Docker, er det muligt at implementere HAProxy, så dine webapplikationer eller udviklingsmiljø får en bekvem måde at balancere på. Dette indlæg delte trinene til at implementere HAProxy i en Docker-container. Følg dem og gør det samme for din sag.