Kuidas kasutada HAProxyt sisendkontrollerina Kubernetese keskkonnas

Kuidas Kasutada Haproxyt Sisendkontrollerina Kubernetese Keskkonnas



Kubernetes on ideaalne valik kõigile, kes soovivad automatiseerida konteinerite rakenduste juurutamist, skaleerimist ja haldamist. Kubernetese keskkonnas on sisendkontroller hädavajalik mis tahes Kubernetese klastriteenuse välise juurdepääsu haldamiseks. Sissepääsukontroller toimib välise liikluse sisestusruumina, mis võimaldab teil määrata marsruutimise ja selle, kuidas soovite teenuse liiklust juhtida. Saate kasutada erinevaid sissepääsu juhtelemente, kuid sel juhul keskendume HAProxyle ja kasutame seda oma sisestusressursis määratletud reeglite rakendamiseks.

Mis on sissepääsukontroller?

Sissepääsukontroller on komponent, mis võimaldab kasutajatel hallata ja kontrollida juurdepääsu oma Kubernetese klastri teenustele. Sissepääsukontrolleril on kaks põhielementi:

  1. Sissepääsu ressurss – See on Kubernetes API objekt, mis määratleb klastri teenuste liikluse marsruutimise reeglid määratud hostinime ja teede alusel.
  2. Sissepääsu kontroller – See on tarkvarakomponent, nagu HAProxy, Traefik või NGINX, mis rakendab sisestusressursis määratud reegleid. See konfigureerib koormuse tasakaalustaja liiklust haldama sisendobjektides tehtud muudatuste põhjal.

Kuidas kasutada HAProxyt sisendkontrollerina Kubernetese keskkonnas

Olles aru saanud, mis on sisendkontroller ja miks seda vaja on, on järgmiseks ülesandeks käsitleda selle kasutamise samme. Meie puhul seadistasime HAProxy oma sissepääsukontrolleriks, järgides esitatud samme.







N/B: Veenduge, et teie Kubernetese klaster oleks töökorras. Seejärel toimige järgmiselt.



1. samm: käivitage oma Kubernetese klaster
Kubernetese klastri seadistamiseks ja käivitamiseks on erinevaid viise. Selle juhendi jaoks kasutame Minikube. See on tööriist, mis pakub lihtsat viisi Kubernetese juurutamiseks virtuaalmasinas või Dockeris, eriti kui teie Kubernetes on teie arvutis kohapeal.



Vaadake Minikube dokumentatsioon oma platvormi jaoks kasutatavate installikäskude kohta. Sel juhul käivitame stabiilse 'x64' Linuxi arhitektuuri ja käivitame järgmised käsud:





$ curl - IT https: // storage.googleapis.com / minikube / vabastab / viimane / minikube-linux-amd64
$ sudo installida minikube-linux-amd64 / usr / kohalik / prügikast / minikube

Esimene käsk haarab uusima stabiilse Minikube'i binaarfaili, teine ​​aga installib ja teisaldab binaarfaili määratud teele.

Kui olete Minikube'i installinud, käivitage see klastri kuvamiseks.



$ minikube start

Seejärel peab klastrile juurdepääsuks olema installitud kubectl. Siiski saate kasutada kubectli versiooni, mis on saadaval koos Minikube'iga. Näiteks töötavate kaustade üksikasjade kontrollimiseks käivitage käsk 'kubectl' järgmiselt:

$ minikube kubectl -- hankige kaunad -A

Nii ei pea te kubectli installima. (–) annab märku, et käsud on mõeldud kubectlile, mitte Minikube'ile.

2. samm: looge nimeruum
Teine samm hõlmab sisendkontrolleri jaoks spetsiaalse nimeruumi loomist. Nimeruumi nimetasime 'haproxy-controller'.

$ minikube kubectl luua nimeruumi haproxy-controller

3. samm: looge ja juurutage HAProxy sisendkontroller
Sissepääsukontrolleri loomise viis sõltub sellest, mida soovite saavutada. Näiteks saate luua HAProxy sissepääsukontrolleri, et suunata HTTP-liiklust sõltuvalt taotletavast hostinimest. Sellisel juhul alustage juurdepääsuga oma DNS-serverile ja looge 'A' kirje, et vastendada sihthostinimi oma klastriga.

Kui teil on õige A-kirje, looge sissepääsukontrolleri YAML-fail, nagu on näidatud järgmisel pildil. Esimeses jaotises lõime juurutusressursi, mis kasutab näitena Dockeri konteineri kujutist 'jmalloc/echo-server'.

YAML-faili teises jaotises lõime teenuse ressursi, mis vastendatakse hostinime alusel, mida nõutakse sammus 4 loodud sissepääsukontrolleris.

Salvestage fail ja juurutage see kubectli abil oma klastris. Viitame Minikube kubectlile, käivitades meie juhtumi jaoks järgmise käsu. Meie HAProxy sissepääsukontroller on 'linuxhint-jmaildeployment.yaml'.

$ minikube kubectl -- kohaldada -f < faili nimi >

Kui saate väljundi, mis näitab, et teenus on loodud, saate järgmise käsu abil täiendavalt kontrollida, kas see on juurutatud:

$ minikube kubectl -- hankige kaunad --nimeruum haproxy-kontroller

Veenduge, et kasutate õiget nimeruumi, mille lõite sammus 1. Saate väljundi, mis kinnitab, et teenus on saadaval, mis tähendab, et juurutamine oli edukas.

4. toiming: looge ja juurutage sissepääsuressurss
Looge veel üks YAML-fail, mis toimib sisestusressursina ja sisaldab reegleid selle kohta, kuidas HAProxy peaks teie liiklust suunama. Veenduge, et kasutate õiget domeeninime (hosti), mida sihite, ning kohandage sissetuleva liikluse vastuvõtmiseks nime andmist ja soovitud porti.

Salvestage HAProxy sisendressursi fail ja juurutage see nii, nagu tegime kontrolleriga.

$ minikube kubectl -- kohaldada -f < faili nimi >

Nimetame oma sisestusressursi kui 'linuxhint-ingresscontroller.yaml'.

See on kõik! Järgmise käsuga saate kontrollida, kas teie HAProxy sissepääsukontroller töötab, kontrollides NodePortile määratud porti.

$ minikube kubectl -- hankige teenus haproxy-kubernetes-ingress --nimeruum haproxy-kontroller

Sel juhul on sellele määratud port 32448. Loodud teenusele pääsete juurde pordi kaudu ja saate selle olekut kontrollida.

Sellega õnnestus teil Kubernetese keskkonnas kasutada HAProxyt sisendkontrollerina.

Järeldus

Sissepääsukontroller võimaldab teil sisendressursi failis määratletud reeglite alusel määratleda, kuidas hallata liiklust klastrisse. HAProxy on usaldusväärne sisendkontroller, mida saate kasutada Kubernetese klastris, ja see postitus käsitles, milliseid samme peaksite selle kasutamiseks järgima. Proovige seda ja nautige HAProxy kasutamist sisendkontrollerina.