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:
- 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.
- 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 -ATā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”.
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.