Hvordan distribuere HAProxy i en Docker-beholder

Hvordan Distribuere Haproxy I En Docker Beholder



Med HAProxy kan du distribuere den i en Docker-beholder i stedet for å kjøre den som en pakke på systemet ditt. Å bruke Docker sikrer at du ikke forstyrrer andre pakker og er en måte å ha et bortgjemt miljø for å kjøre HAProxy som din omvendte proxy eller for andre formål. Å kjøre HAProxy på Docker er en enkel oppgave. Dette innlegget diskuterer trinnene du må følge. Les videre!

Utplassering av HAProxy i en Docker-beholder

Når du arbeider med applikasjonene eller serverne dine, er HAProxy nyttig for å la deg kontrollere trafikken for å oppnå høy ytelse og skalerbarhet. Dessuten gir Docker deg en plattform for å distribuere og skalere applikasjonen sømløst. Ved å kombinere de to, vil skalerbarheten og andre distribusjonsbehov bli godt oppfylt.







Dessuten har HAProxy-teknologier bygget et sett med Docker-bilder som du kan bruke til å distribuere HAProxy i en Docker-beholder. Følgende er trinnene du bør følge.



Trinn 1: Start Docker



Systemet ditt må ha Docker installert for at du skal kunne starte det før du distribuerer HAProxy. Avhengig av hvilken distro du bruker, sørg for at du installerte Docker. For denne opplæringen vil vi jobbe med Ubuntu og sjekke Docker-versjonen for å bekrefte at den er installert på systemet vårt.






Når du har installert Docker, kontroller statusen for å sikre at den kjører. Du kan starte den med følgende kommando og deretter sjekke statusen:

$ sudo systemctl start docker




Trinn 2: Få HAProxy Official Docker Image

Det offisielle HAProxy Docker-bildet er tilgjengelig fra Docker-huben. Du kan laste den ned ved å dra den med følgende kommando:

$ sudo docker pull haproxy


Bekreft at vi har lastet ned HAProxy ved å sjekke de tilgjengelige Docker-bildene.

$ sudo docker-bilder


Trinn 3: Opprett et Docker-nettverk

Siden vi skal bruke nettapplikasjonene som vi ønsker å koble til HAProxy, kreves det et bronettverk. Dessuten hjelper å opprette et nettverk også med å skille beholderne slik at hver bruker sin egen.

For å opprette et brokoblet nettverk, bruk følgende syntaks:

$ sudo docker-nettverk opprette nettverksnavn


Bekreft raskt at nettverket er opprettet ved å liste de tilgjengelige nettverkene i Docker-beholderen.

$ sudo docker-nettverk ls


Vi har laget vårt 'nettverk1a', og det vises i følgende utdata:


Trinn 4: Lag backend-webapplikasjonene

Vi lager to nettforekomster som skal brukes med lastbalanseren vår for demonstrasjonen. Docker har forskjellige forekomster du kan bruke. For dette tilfellet bruker vi et Nginx-bilde for å lage nettapplikasjonene.

$ sudo docker run -d --Navn < web-app-navn > --Nettverk < nettverksnavn > nginx


Opprett den andre forekomsten.


Vi har nå to nettapplikasjonsforekomster på vår Docker. Bekreft dette ved å kjøre kommandoen 'docker ps'.


Trinn 5: Lag din konfigurasjonsfil

Du må opprette en HAProxy-konfigurasjonsfil som du vil bruke med Docker. Velg hvor du vil lagre konfigurasjonsfilen. Deretter åpner du den med et tekstredigeringsprogram. Vi bruker nano for dette tilfellet og har vår konfigurasjonsfil lagret i '/opt/haproxy/haproxy.cfg'.


Vår konfigurasjonsfil ser ut som følger. Legg merke til hvordan hver seksjon viser hvordan vi vil at HAProxy skal fordele belastningen på våre nettapplikasjoner/servere:


Igjen bruker vi port 80 for frontend-tilkoblingene og port 8404 for lytterne.


Sørg for at du har lagt til riktig navn for nettapplikasjonen din under backend-delen av konfigurasjonsfilen. Du kan også bruke IP-adressene for nettapplikasjonene dine i stedet for vertsnavnene. Til slutt, lagre og avslutt filen. Du kan deretter starte HAProxy på nytt.


I stedet for å lage en konfigurasjonsfil, kan du opprette en Docker-fil som kopierer en eksisterende konfigurasjonsfil og deretter bygge beholderen. Bruk gjerne den metoden som passer best for deg.

Trinn 6: Implementer HAProxy

Vi må nå opprette en HAProxy-beholder, kjøre den og tilordne porten til den vi inkluderte i konfigurasjonsfilen. Vi navngir beholderen vår som 'haproxycontainer2' og kartlegger portene 80 og 8404 fra verten til de på Docker-beholderen.


Med det klarte du å distribuere HAProxy i en Docker-beholder. Du kan nå få tilgang til dine nettapplikasjoner/servere. All trafikk som kanaliseres til dem vil bli distribuert ved hjelp av HAProxy for å sikre at lastbalanseringen skjer.

Konklusjon

HAProxy hjelper med lastbalansering og andre applikasjoner. Når du jobber med Docker, er det mulig å distribuere HAProxy slik at nettapplikasjonene eller utviklingsmiljøet ditt får en praktisk måte å balansere på. Dette innlegget delte trinnene for å distribuere HAProxy i en Docker-beholder. Følg dem og gjør det samme for ditt tilfelle.