A HAProxy használata belépésvezérlőként Kubernetes környezetben

A Haproxy Hasznalata Belepesvezerlokent Kubernetes Kornyezetben



A Kubernetes ideális választás mindazok számára, akik egy konténeres alkalmazások telepítését, méretezését és kezelését szeretnék automatizálni. Kubernetes-környezetben a belépés-vezérlő elengedhetetlen a Kubernetes-fürtszolgáltatás külső hozzáférésének kezeléséhez. A bemeneti vezérlő a külső forgalom belépési tereként működik, amely lehetővé teszi az útvonal meghatározását és a szolgáltatás felé irányuló forgalom irányításának módját. Különféle belépés-vezérlőket használhat, de ebben az esetben a HAProxyra fogunk összpontosítani, és azt használjuk a belépési erőforrásunkban meghatározott szabályok végrehajtására.

Mi az a belépésvezérlő?

A belépésvezérlő egy olyan összetevő, amely lehetővé teszi a felhasználók számára a Kubernetes-fürtön belüli szolgáltatások hozzáférésének kezelését és szabályozását. A bemeneti vezérlőnek két kulcseleme van:

  1. Az Ingress Resource – Ez egy Kubernetes API objektum, amely meghatározza a fürtben lévő szolgáltatások forgalmának útválasztási szabályait a megadott gazdagépnév és elérési utak alapján.
  2. A belépés vezérlő – Ez egy olyan szoftverösszetevő, mint a HAProxy, Traefik vagy NGINX, amely végrehajtja a bemeneti erőforrásban megadott szabályokat. A terheléselosztót úgy konfigurálja, hogy a bemeneti objektumok módosításai alapján kezelje a forgalmat.

A HAProxy használata belépésvezérlőként Kubernetes környezetben

Miután megértette, mi az a bemeneti vezérlő, és miért van szüksége rá, a következő feladat a használat lépéseinek ismertetése. A mi esetünkben a HAProxy-t állítottuk be bemeneti vezérlőnkként a megadott lépéseket követve.







N/B: Győződjön meg arról, hogy a Kubernetes-fürt működik és működik. Ezután járjon el az alábbiak szerint.



1. lépés: Indítsa el a Kubernetes-fürtöt
A Kubernetes-fürt beállításának és elindításának különböző módjai vannak. Ehhez az útmutatóhoz a Minikube-ot használjuk. Ez egy olyan eszköz, amely egyszerű módot kínál a Kubernetes virtuális gépen vagy Dockeren belüli üzembe helyezésére, különösen akkor, ha a Kubernetes helyileg van a gépen.



Utal Minikube dokumentáció a platformon használandó telepítési parancsokon. Ebben az esetben egy stabil „x64” Linux architektúrát futtatunk, és a következő parancsokat futtatjuk:





$ göndör -AZT https: // storage.googleapis.com / minikube / kiadja / legújabb / minikube-linux-amd64
$ sudo telepítés minikube-linux-amd64 / usr / helyi / kuka / minikube

Az első parancs megragadja a legújabb stabil Minikube bináris fájlt, míg a második parancs telepíti és áthelyezi a binárist a megadott útvonalra.

A Minikube telepítése után indítsa el a fürt megjelenítéséhez.



$ minikube start

Ezután telepítenie kell a kubectl-t a fürt eléréséhez. Használhatja azonban a Minikube-val elérhető kubectl verziót. Például a futó podok részleteinek ellenőrzéséhez hajtsa végre a „kubectl” parancsot a következőképpen:

$ minikube kubectl -- kap hüvelyeket -A

Így nem kell telepítenie a kubectl-t. A (–) jelzi, hogy a parancsok a kubectl-hez szólnak, nem a Minikube-hoz.

2. lépés: Hozzon létre egy névteret
A második lépés egy dedikált névtér létrehozása a bemeneti vezérlő számára. A névteret „haproxy-controller”-nek neveztük el.

$ minikube kubectl névtér haproxy-vezérlő létrehozása

3. lépés: A HAProxy Ingress Controller létrehozása és üzembe helyezése
A bemeneti vezérlő létrehozásának módja attól függ, hogy mit szeretne elérni. Például létrehozhat egy HAProxy bemeneti vezérlőt a HTTP-forgalom irányításához a kért gazdagépnévtől függően. Ilyen esetben először nyissa meg a DNS-kiszolgálót, és hozzon létre egy „A” rekordot, amely leképezi a cél gazdagép nevét a fürtre.

Miután megvan a megfelelő „A” rekord, hozza létre a bemeneti vezérlő YAML fájlját a következő képen látható módon. Az első részben létrehoztunk egy telepítési erőforrást, amely a „jmalloc/echo-server” Docker-tároló lemezképet használja példaként.

A YAML-fájl második részében létrehoztuk a Service-erőforrást, amely a 4. lépésben létrehozott belépésvezérlőben kért gazdagépnév alapján lesz leképezve.

Mentse a fájlt, és helyezze üzembe a fürtben a kubectl használatával. A Minikube kubectl-re hivatkozunk a következő parancs futtatásával esetünkben. A HAProxy bemeneti vezérlőnk a „linuxhint-jmaildeployment.yaml”.

$ minikube kubectl -- alkalmaz -f < fájl név >

Miután megkapja a szolgáltatás létrehozását jelző kimenetet, a következő paranccsal tovább ellenőrizheti, hogy telepítette-e:

$ minikube kubectl -- kap hüvelyeket --névtér haproxy-vezérlő

Győződjön meg arról, hogy a megfelelő névteret használja, amelyet az 1. lépésben hozott létre. Egy kimenetet kap, amely megerősíti, hogy a szolgáltatás elérhető, ami azt jelenti, hogy a telepítés sikeres volt.

4. lépés: Hozzon létre és telepítsen belépési erőforrást
Hozzon létre egy másik YAML-fájlt, amely bemeneti erőforrásként működik, és tartalmazza a szabályokat arra vonatkozóan, hogy a HAProxy hogyan irányítsa a forgalmat. Győződjön meg arról, hogy a megfelelő tartománynevet (gazdagépet) használja, amelyet megcéloz, és állítsa be az elnevezést és a kívánt portot a bejövő forgalom fogadásához.

Mentse el a HAProxy bemeneti erőforrásfájlját, és telepítse, ahogyan a vezérlőnél tettük.

$ minikube kubectl -- alkalmaz -f < fájl név >

Belépési erőforrásunkat „linuxhint-ingresscontroller.yaml”-nek nevezzük.

Ez az! A következő paranccsal ellenőrizheti, hogy a HAProxy bemeneti vezérlője működik-e a NodePorthoz rendelt port ellenőrzésével.

$ minikube kubectl -- szerezze be a haproxy-kubernetes-ingress szolgáltatást --névtér haproxy-vezérlő

Ebben az esetben a 32448-as porthoz van hozzárendelve. A port segítségével elérheti a létrehozott szolgáltatást, és ellenőrizheti annak állapotát.

Ezzel sikerült a HAProxy-t belépésvezérlőként használni Kubernetes környezetben.

Következtetés

A bemeneti vezérlő lehetővé teszi, hogy meghatározza, hogyan kezelje a fürtre irányuló forgalmat a bemeneti erőforrásfájlban meghatározott szabályok alapján. A HAProxy egy megbízható bemeneti vezérlő, amelyet a Kubernetes-fürtön belül használhat, és ez a bejegyzés bemutatta, hogy milyen lépéseket kell követnie a használatához. Próbálja ki, és élvezze a HAProxy használatát bemeneti vezérlőként.