Kā izmantot HAProxy kā ieejas kontrolieri Kubernetes vidē

Ka Izmantot Haproxy Ka Ieejas Kontrolieri Kubernetes Vide



Kubernetes ir ideāls risinājums ikvienam, kurš vēlas automatizēt konteinerizētas lietojumprogrammas izvietošanu, mērogošanu un pārvaldību. Kubernetes vidē ieejas kontrolleris ir būtisks, lai pārvaldītu ārēju piekļuvi jebkuram Kubernetes klastera pakalpojumam. Ieejas kontrolleris darbojas kā ārējās trafika ievades vieta, kas ļauj definēt maršrutēšanu un to, kā vēlaties kontrolēt trafiku uz pakalpojumu. Varat izmantot dažādas ieejas vadīklas, taču šajā gadījumā mēs koncentrēsimies uz HAProxy un izmantosim to, lai ieviestu noteikumus, ko definējam savā ieejas resursā.

Kas ir ieejas kontrolieris?

Ieejas kontrolleris ir komponents, kas ļauj lietotājiem pārvaldīt un kontrolēt piekļuvi pakalpojumiem savā Kubernetes klasterī. Ieejas kontrollerim ir divi galvenie elementi:

  1. Ieejas resurss – Tas ir Kubernetes API objekts, kas nosaka klastera pakalpojumu trafika maršrutēšanas noteikumus, pamatojoties uz norādīto resursdatora nosaukumu un ceļiem.
  2. Ieejas kontrolieris – Tas ir programmatūras komponents, piemēram, HAProxy, Traefik vai NGINX, kas ievieš ieejas resursā norādītos noteikumus. Tas konfigurē slodzes balansētāju, lai apstrādātu trafiku, pamatojoties uz izmaiņām, kas veiktas ieejas objektos.

Kā izmantot HAProxy kā ieejas kontrolieri Kubernetes vidē

Kad esat sapratis, kas ir ieejas kontrolieris un kāpēc tas jums ir nepieciešams, nākamais uzdevums ir aprakstīt tā lietošanas darbības. Mūsu gadījumā mēs iestatījām HAProxy kā mūsu ieejas kontrolieri, veicot norādītās darbības.







N/B: Pārliecinieties, vai jūsu Kubernetes klasteris ir izveidots un darbojas. Pēc tam rīkojieties šādi.



1. darbība: palaidiet savu Kubernetes klasteru
Ir dažādi veidi, kā izveidot un sākt Kubernetes klasteru. Šajā rokasgrāmatā mēs izmantojam Minikube. Tas ir rīks, kas piedāvā vienkāršotu veidu, kā izvietot Kubernetes virtuālajā mašīnā vai Docker, it īpaši, ja jūsu Kubernetes ir lokāli jūsu datorā.



Skatiet uz Minikube dokumentācija par instalēšanas komandām, ko izmantot savai platformai. Šajā gadījumā mēs palaižam stabilu “x64” Linux arhitektūru un izpildām šādas komandas:





$ čokurošanās -IT https: // storage.googleapis.com / minikube / izlaidumi / jaunākais / minikube-linux-amd64
$ sudo uzstādīt minikube-linux-amd64 / usr / vietējā / atkritumu tvertne / minikube

Pirmā komanda satver jaunāko stabilo Minikube bināro failu, bet otrā komanda instalē un pārvieto bināro failu norādītajā ceļā.

Kad esat instalējis Minikube, palaidiet to, lai atvērtu kopu.



$ minikube sākums

Pēc tam jums ir jābūt instalētam kubectl, lai piekļūtu klasterim. Tomēr varat izmantot kubectl versiju, kas ir pieejama kopā ar Minikube. Piemēram, lai pārbaudītu informāciju par palaistiem podiem, izpildiet komandu “kubectl” šādi:

$ minikube kubectl -- iegūt pākstis -A

Tādā veidā jums nav jāinstalē kubectl. (–) norāda, ka komandas ir paredzētas kubectl, nevis Minikube.

2. darbība. Izveidojiet nosaukumvietu
Otrais solis ietver speciālas nosaukumvietas izveidi ieejas kontrollerim. Nosaukumvietu mēs nosaucām par “haproxy-controller”.

$ minikube kubectl izveidot nosaukumvietas haproxy-controller

3. darbība. Izveidojiet un izvietojiet HAProxy ieejas kontrolieri
Ieejas kontrollera izveides veids ir atkarīgs no tā, ko vēlaties sasniegt. Piemēram, varat izveidot HAProxy ieejas kontrolleri, lai maršrutētu HTTP trafiku atkarībā no pieprasītā resursdatora nosaukuma. Šādā gadījumā sāciet, piekļūstot savam DNS serverim un izveidojot “A” ierakstu, lai mērķa resursdatora nosaukumu kartētu ar savu klasteru.

Kad esat ieguvis pareizo “A” ierakstu, izveidojiet ieejas kontrollera YAML failu, kā parādīts nākamajā attēlā. Pirmajā sadaļā mēs izveidojām izvietošanas resursu, kas kā piemēru izmanto Docker konteinera attēlu “jmalloc/echo-server”.

YAML faila otrajā sadaļā mēs izveidojām pakalpojuma resursu, kas tiek kartēts, pamatojoties uz resursdatora nosaukumu, kas tiek pieprasīts ieejas kontrollerī, kas izveidots 4. darbībā.

Saglabājiet failu un izvietojiet to savā klasterī, izmantojot kubectl. Mēs atsaucamies uz Minikube kubectl, mūsu gadījumā izpildot šādu komandu. Mūsu HAProxy ieejas kontrolleris ir “linuxhint-jmaildeployment.yaml”.

$ minikube kubectl -- pieteikties -f < faila nosaukums >

Kad esat saņēmis izvadi, kas parāda, ka pakalpojums ir izveidots, varat vēl vairāk pārbaudīt, vai tas ir izvietots, izmantojot šo komandu:

$ minikube kubectl -- iegūt pākstis --vārdtelpa haproxy-kontrolieris

Pārliecinieties, vai izmantojat pareizo nosaukumvietu, ko izveidojāt 1. darbībā. Jūs saņemsiet izvadi, kas apstiprinās, ka pakalpojums ir pieejams, kas nozīmē, ka izvietošana bija veiksmīga.

4. darbība. Izveidojiet un izvietojiet ienākšanas resursu
Izveidojiet citu YAML failu, kas darbojas kā ieejas resurss, kurā ir noteikumi par to, kā HAProxy maršrutēt trafiku. Pārliecinieties, vai izmantojat pareizo domēna nosaukumu (resursdatoru), uz kuru atlasāt mērķauditoriju, un pielāgojiet nosaukumu un vēlamo portu, lai pieņemtu ienākošo trafiku.

Saglabājiet HAProxy ieejas resursa failu un izvietojiet to tāpat kā ar kontrolieri.

$ minikube kubectl -- pieteikties -f < faila nosaukums >

Mēs nosaucam savu ienākšanas resursu kā “linuxhint-ingresscontroller.yaml”.

Tieši tā! Izmantojot šo komandu, varat pārbaudīt, vai jūsu HAProxy ieejas kontrolleris darbojas, pārbaudot portu, kas ir piešķirts NodePort.

$ minikube kubectl -- saņemt pakalpojumu haproxy-kubernetes-ingress --vārdtelpa haproxy-kontrolieris

Šajā gadījumā tam ir piešķirts ports 32448. Izveidotajam pakalpojumam var piekļūt, izmantojot portu, un pārbaudīt tā statusu.

Tādējādi jums izdevās izmantot HAProxy kā ieejas kontrolieri Kubernetes vidē.

Secinājums

Ieejas kontrolleris ļauj definēt, kā apstrādāt datplūsmu uz jūsu klasteru, pamatojoties uz noteikumiem, kas definēti jūsu ieejas resursu failā. HAProxy ir uzticams ieejas kontrolieris, ko varat izmantot Kubernetes klasterī, un šajā ziņojumā tika aprakstītas darbības, kas jums jāveic, lai to izmantotu. Izmēģiniet to un izbaudiet HAProxy izmantošanu kā ieejas kontrolieri.