Paano I-deploy ang HAProxy sa isang Docker Container

Paano I Deploy Ang Haproxy Sa Isang Docker Container



Sa HAProxy, maaari mo itong i-deploy sa isang Docker container sa halip na patakbuhin ito bilang isang package sa iyong system. Tinitiyak ng paggamit ng Docker na hindi ka makagambala sa iba pang mga pakete at ito ay isang paraan ng pagkakaroon ng isang liblib na kapaligiran upang patakbuhin ang HAProxy bilang iyong reverse proxy o para sa iba pang mga layunin. Ang pagpapatakbo ng HAProxy sa Docker ay isang tapat na gawain. Tinatalakay ng post na ito ang mga hakbang na dapat sundin. Basahin mo pa!

Pag-deploy ng HAProxy sa isang Docker Container

Kapag nagtatrabaho sa iyong mga application o server, ang HAProxy ay madaling gamitin sa pagpapahintulot sa iyo na kontrolin ang trapiko upang makamit ang isang mataas na pagganap at scalability. Bukod dito, binibigyan ka ng Docker ng isang platform upang i-deploy at sukatin ang iyong application nang walang putol. Kapag pinagsama ang dalawa, ang iyong scalability at iba pang mga pangangailangan sa pag-deploy ay matutugunan nang husto.







Bukod pa rito, ang mga teknolohiya ng HAProxy ay bumuo ng isang hanay ng mga larawan ng Docker na magagamit mo upang i-deploy ang HAProxy sa isang lalagyan ng Docker. Ang mga sumusunod ay ang mga hakbang na dapat mong sundin.



Hakbang 1: Simulan ang Docker



Dapat na naka-install ang Docker ng iyong system para masimulan mo ito bago i-deploy ang HAProxy. Depende sa kung anong distro ang iyong ginagamit, tiyaking na-install mo ang Docker. Para sa tutorial na ito, makikipagtulungan kami sa Ubuntu at suriin ang bersyon ng Docker upang kumpirmahin na naka-install ito sa aming system.






Kapag na-install mo na ang Docker, suriin ang katayuan nito upang matiyak na ito ay tumatakbo. Maaari mong simulan ito sa sumusunod na utos at pagkatapos ay suriin ang katayuan nito:

$ sudo systemctl simulan ang docker




Hakbang 2: Kunin ang HAProxy Official Docker Image

Ang opisyal na HAProxy Docker na imahe ay makukuha mula sa Docker hub. Maaari mong i-download ito sa pamamagitan ng paghila nito gamit ang sumusunod na command:

$ sudo docker pull haproxy


Kumpirmahin na mayroon kaming na-download na HAProxy sa pamamagitan ng pagsuri sa mga available na larawan ng Docker.

$ sudo mga larawan ng docker


Hakbang 3: Gumawa ng Docker Network

Dahil gagamitin namin ang mga web application na gusto naming i-link sa HAProxy, kailangan ng bridge network. Bukod, ang paglikha ng isang network ay nakakatulong din na paghiwalayin ang mga lalagyan upang ang bawat isa ay gumamit ng sarili nitong.

Upang lumikha ng isang naka-bridge na network, gamitin ang sumusunod na syntax:

$ sudo gumawa ng network_name ng docker network


Mabilis na i-verify na ang network ay ginawa sa pamamagitan ng paglilista ng mga available na network sa iyong Docker container.

$ sudo network ng docker ls


Nagawa namin ang aming 'network1a' at lumilitaw ito sa sumusunod na output:


Hakbang 4: Gumawa ng Backend Web Applications

Gumagawa kami ng dalawang instance sa web na gagamitin kasama ng aming load balancer para sa demonstrasyon. Ang Docker ay may iba't ibang mga pagkakataon na maaari mong gamitin. Para sa kasong ito, gumagamit kami ng Nginx na imahe upang lumikha ng mga web application.

$ sudo tumakbo sa pantalan -d --pangalan < web-app-name > --network < pangalan ng network > nginx


Lumikha ng ibang instance.


Mayroon na kaming dalawang instance ng web application sa aming Docker. I-verify ito sa pamamagitan ng pagpapatakbo ng command na 'docker ps'.


Hakbang 5: Gumawa ng Iyong Configuration File

Dapat kang lumikha ng HAProxy configuration file na gagamitin mo sa iyong Docker. Piliin kung saan ise-save ang iyong configuration file. Pagkatapos, buksan ito gamit ang isang text editor. Gumagamit kami ng nano para sa kasong ito at naka-imbak ang aming configuration file sa “/opt/haproxy/haproxy.cfg”.


Ang aming configuration file ay ganito ang hitsura. Pansinin kung paano ipinapakita ng bawat seksyon kung paano namin gustong ipamahagi ng HAProxy ang load sa aming mga web application/server:


Muli, gumagamit kami ng port 80 para sa mga frontend na koneksyon at port 8404 para sa mga tagapakinig.


Tiyaking naidagdag mo ang tamang pangalan para sa iyong web application sa ilalim ng backend na seksyon ng config file. Maaari mo ring gamitin ang mga IP address para sa iyong mga web application sa halip na ang kanilang mga hostname. Panghuli, i-save at lumabas sa file. Maaari mong i-restart ang HAProxy.


Sa halip na gumawa ng configuration file, maaari kang lumikha ng Docker file na kumukopya ng isang umiiral nang config file at pagkatapos ay bumuo ng container. Huwag mag-atubiling gamitin ang paraan na pinakamahusay na gumagana para sa iyo.

Hakbang 6: I-deploy ang HAProxy

Dapat na tayong gumawa ng HAProxy container, patakbuhin ito, at imapa ang port nito sa isa na kasama natin sa configuration file. Pinangalanan namin ang aming container bilang 'haproxycontainer2' at imapa ang mga port 80 at 8404 mula sa host patungo sa mga nasa Docker container.


Sa pamamagitan nito, nagawa mong i-deploy ang HAProxy sa isang lalagyan ng Docker. Maa-access mo na ngayon ang iyong mga web application/server. Ang anumang trapikong ipapahatid sa kanila ay ipapamahagi gamit ang HAProxy upang matiyak na magaganap ang load balancing.

Konklusyon

Nakakatulong ang HAProxy sa load balancing at iba pang mga application. Kapag nagtatrabaho sa Docker, posibleng mag-deploy ng HAProxy upang ang iyong mga web application o development environment ay nakakakuha ng maginhawang paraan ng pagbalanse ng load. Ibinahagi ng post na ito ang mga hakbang sa pag-deploy ng HAProxy sa isang container ng Docker. Sundin sila at gawin ang parehong para sa iyong kaso.