
Ha o qala sehlopha sa Kubernetes bakeng sa ts'ebeliso e itseng, o lokela ho utloisisa hore na kopo ka boeona, khoebo, le bahlahisi ba na le litlhoko life bakeng sa sesebelisoa sena. Ka boitsebiso bona, u ka qala ho etsa qeto ea meralo 'me, haholo-holo, ho khetha molaoli ea itseng oa Ingress, eo ho seng ho ntse ho e-na le palo e kholo kajeno. E le hore u fumane khopolo ea motheo ea likhetho tse fumanehang ntle le ho ithuta lihlooho tse ngata / litokomane, joalo-joalo, re lokiselitse kakaretso ena, ho kenyelletsa le ba ka sehloohong (tlhahiso e lokiselitsoeng) balaoli ba Ingress.
Re tšepa hore e tla thusa basebetsi-'moho ho khetha tharollo ea meralo - bonyane, e tla fetoha sebaka sa ho qala ho fumana lintlha tse qaqileng le liteko tse sebetsang. Re kile ra ithuta lisebelisoa tse ling tse tšoanang Inthaneteng 'me, ka mokhoa o makatsang, ha rea ka ra fumana e le' ngoe e feletseng kapa e fokolang, 'me ea bohlokoa ka ho fetisisa - e hlophisitsoeng - tlhahlobo. Kahoo, a re tlatse sekheo sena!
Litekanyetso
E le ho etsa papiso le ho fumana sephetho leha e le sefe se molemo, ha ua lokela ho utloisisa feela sebaka sa thuto, empa hape u be le lethathamo le khethehileng la litekanyetso tse tla beha vector ea thuto. Ntle le ho iketsa eka re sekaseka linyeoe tsohle tse ka khonehang tsa ho sebelisa Ingress / Kubernetes, re lekile ho totobatsa litlhoko tse akaretsang tsa balaoli - itokisetse hore lintlha tsohle tsa hau le lintlha tsa hau li tla tlameha ho ithutoa ka thoko maemong afe kapa afe.
Empa ke tla qala ka litšoaneleho tse seng li atile hoo li kentsoeng ts'ebetsong ka tharollo eohle 'me ha li nahane:
- ho sibolloa ha litšebeletso tse matla;
- Ho felisoa ha SSL;
- ho sebetsa le li-websockets.
Joale, mabapi le lintlha tsa papiso:
Liprothokholo tse tšehetsoeng
E 'ngoe ea litekanyetso tsa mantlha tsa khetho. Software ea hau e kanna ea se sebetse ka HTTP e tloaelehileng kapa ea hloka mosebetsi ka liprothokholo tse ngata ka nako e le 'ngoe. Haeba nyeoe ea hau e sa tloaeleha, etsa bonnete ba hore u nahanela ntlha ena e le hore u se ke ua tlameha ho hlophisa sehlopha hape hamorao. Lethathamo la li-protocol tse tšehetsoeng le fapana ho balaoli bohle.
Software ka mantlha
Ho na le mefuta e mengata ea ts'ebeliso eo molaoli a thehiloeng ho eona. Tse tummeng ke nginx, traefik, haproxy, envoy. Ka kakaretso, mohlomong ha e na tšusumetso e kholo ea hore na sephethephethe se amoheloa joang le hore na se fetisoa joang, empa kamehla ho molemo ho tseba li-nuances le likarolo tsa "tlas'a hood".
Tsela ea sephethephethe
Ke eng e ka sebelisoang ho etsa qeto mabapi le tataiso ea sephethephethe ho ea tšebeletsong e itseng? Hangata, ke moamoheli le tsela, empa ho na le likhetho tse ling.
Sebaka sa mabitso ka har'a sehlopha
Sebaka sa mabitso ke bokhoni ba ho arola lisebelisoa ho Kubernetes (mohlala, sethaleng, tlhahiso, joalo-joalo). Ho na le li-controller tsa Ingress tse hlokang ho kenngoa ka thoko sebakeng se seng le se seng sa mabitso (ebe se ka tsamaisa sephethephethe feela ka har'a liqoapi tsa sebaka sena). Mme ho na le ba bang (mme ke bongata bo hlakileng) ba sebetsang lefats'eng ka bophara bakeng sa sehlopha sohle - ho bona, sephethephethe se lebisitsoe ho sehlopha sefe kapa sefe sa sehlopha, ho sa tsotelehe sebaka sa mabitso.
Mehlala bakeng sa libaka tse holimo
Sephethephethe se lebisitsoe joang maemong a bophelo bo botle ba kopo, litšebeletso? Ho na le likhetho tse nang le licheke tse sebetsang le tse sa sebetseng, tse lekang hape, li-circuit breakers (bakeng sa lintlha tse ling ka bona, bona, mohlala, ), litlhahlobo tsa bophelo bo botle ba tloaelo, joalo-joalo Parameter ea bohlokoa haholo haeba u na le litlhoko tse phahameng tsa ho fumaneha le ho tlosoa ka nako ea litšebeletso tse hlōlehileng ho tloha ho leka-lekanya.
Ho leka-lekanya algorithms
Ho na le likhetho tse ngata mona: ho tloha moetlong ho tse eksotiske tse kang , hammoho le likarolo tsa motho ka mong joalo ka .
Netefatso
Mookameli o tšehetsa merero efe ea tumello? Basic, digest, oauth, external-auth - Ke nahana hore likhetho tsena li lokela ho tloaeleha. Ena ke ntlha ea bohlokoa haeba u sebelisa li-contours tse ngata (le/kapa tse koetsoeng feela), tse fihletsoeng ka Ingress.
Kabo ea sephethephethe
Na molaoli o ts'ehetsa mekhoa e joalo e sebelisoang hangata bakeng sa kabo ea sephethephethe joalo ka ho phatlalatsoa ha canary, tlhahlobo ea A/B, seipone sa sephethephethe/moriti? Ena ke taba e bohloko haholo bakeng sa lits'ebetso tse hlokang taolo e hlokolosi le e nepahetseng ea sephethephethe bakeng sa liteko tse hlahisang litholoana, ho lokisa liphoso tsa sehlahisoa tse seng ntoeng (kapa ka tahlehelo e nyane), tlhahlobo ea sephethephethe, jj.
Ngoliso e lefelloang
Na ho na le mofuta o lefelloang oa molaoli o nang le ts'ebetso e atolositsoeng le/kapa tšehetso ea tekheniki?
Sebopeho sa setšoantšo (Web UI)
Na ho na le sebopeho sa graphical bakeng sa ho laola tlhophiso ea molaoli? Haholo-holo molemong oa boiketlo le / kapa bakeng sa ba hlokang ho etsa liphetoho tse itseng ho tlhophiso ea Ingress, empa ba fumana ho le thata ho sebetsa ka litempele tse "tala". E ka ba molemo ha bahlahisi ba batla ho etsa liteko ka sephethephethe hang-hang.
Netefatso ea JWT
Ho fumaneha ha netefatso e hahelletsoeng ka har'a li-tokens tsa webo tsa JSON bakeng sa tumello le netefatso ea mosebelisi bakeng sa ts'ebeliso ea ho qetela.
Monyetla oa ho etsa configuration
Katoloso ea litempele ka kutloisiso ea ho ba le mekhoa e u lumellang ho eketsa litaelo tsa hau, lifolakha, joalo-joalo ho litempele tse tloaelehileng tsa tlhophiso.
Mekhoa ea motheo ea ts'ireletso ea DDOS
Li-algorithms tsa tekanyo e bonolo kapa likhetho tse rarahaneng ho feta tsa ho sefa sephethephethe ho latela liaterese, manane a makhooa, linaha, jj.
Kopa Tracing
Bokhoni ba ho shebella, ho latela le ho lokisa likopo tse tsoang ho Ingresses ho ea lits'ebeletso tse itseng / li-pods, hape hantle lipakeng tsa lits'ebeletso / li-pods.
waff
Tshehetso .
Balaoli ba Ingress
Lethathamo la balaoli le thehiloe motheong oa и . Ha rea kenyelletsa tse ling tsa tsona tlhahlobisong ka lebaka la ho ikhetha kapa ho ata ha tsona (mohato oa pele oa nts'etsopele). Tse setseng li nahanoa ka tlase. Ha re qaleng ka tlhaloso e akaretsang ea litharollo 'me re tsoele pele ka tafole ea kakaretso.
Ingress e tsoang Kubernetes
Website:
License: Apache 2.0
Enoa ke molaoli oa molao oa Kubernetes, o ntlafalitsoeng ke sechaba. Joalo ka ha lebitso le fana ka maikutlo, e thehiloe ho nginx mme e tlatselletsoa ka mefuta e fapaneng ea li-plugins tsa Lua tse sebelisetsoang ho kenya tšebetsong bokhoni bo eketsehileng. Ka lebaka la botumo ba nginx ka boeona le liphetoho tse fokolang holim'a eona ha e sebelisoa e le molaoli, khetho ena e ka 'na ea e-ba eona e bonolo ka ho fetisisa le e utloisisoang ka ho fetisisa tlhophisong bakeng sa moenjiniere ea tloaelehileng (ka phihlelo ea marang-rang).
Ingress ka NGINX Inc
Website:
License: Apache 2.0
Sehlahisoa sa semmuso sa baetsi ba nginx. E na le mofuta o lefelloang o thehiloeng ho . Maikutlo a ka sehloohong ke boemo bo phahameng ba botsitso, ho lumellana kamehla ho khutlela morao, ho ba sieo ha li-modules leha e le life tsa mokha oa boraro le ho phatlalatsa ho eketseha ka lebelo (ha ho bapisoa le molaoli oa molao), ho finyelloang ka ho lahla Lua.
Mofuta oa mahala o fokotsehile haholo, ho kenyelletsa le ha o bapisoa le molaoli oa semmuso (ka lebaka la ho ba sieo ha li-module tsa Lua tse tšoanang). Phetolelo e lefshoang e na le ts'ebetso e mengata e eketsehileng: litekanyetso tsa nako ea sebele, netefatso ea JWT, licheke tse sebetsang tsa bophelo bo botle, joalo-joalo Molemo oa bohlokoa ho feta NGINX Ingress ke ts'ehetso e feletseng bakeng sa sephethephethe sa TCP / UDP (le phetolelong ea sechaba hape!). Tlosa - likarolo bakeng sa kabo ea sephethephethe, eo, leha ho le joalo, "e nang le eona ea bohlokoa ka ho fetisisa bakeng sa bahlahisi", empa e hloka nako ea ho kenya ts'ebetsong.
Kong Ingress
Website:
License: Apache 2.0
Sehlahisoa se entsoeng ke Kong Inc. ka mefuta e 'meli: ea khoebo le ea mahala. E ipapisitse le nginx, bokhoni ba eona bo atolosoa ke palo e kholo ea li-module tsa Lua.
Qalong, e ne e tsepamisitse maikutlo ho sebetsa le ho tsamaisa likopo tsa API, ke hore, joalo ka API Gateway, empa hajoale e se e le molaoli oa Ingress ea felletseng. Melemo e ka sehloohong: li-module tse ngata tse eketsehileng (ho kenyeletsoa ho tsoa ho baetsi ba mekhatlo ea boraro), tse bonolo ho li kenya le ho li lokisa le ka thuso ea hore ho kenyelelitsoe likarolo tse ngata tse eketsehileng. Leha ho le joalo, mesebetsi e hahelletsoeng e se e ntse e fana ka likarolo tse ngata. Tlhophiso ea mosebetsi e etsoa ka lisebelisoa tsa CRD.
Tšobotsi ea bohlokoa ea sehlahisoa - ho sebetsa ka har'a contour e le 'ngoe (ho e-na le ho fapanyetsana mabitso) ke taba e tsosang khang: ho ba bang e tla bonahala e le bothata (o tlameha ho theha mekhatlo bakeng sa contour ka 'ngoe),' me ho ba bang - tšobotsi (b)о(boemo bo phahameng ba ho itšehla thajana, hobane haeba molaoli a le mong a robehile, bothata bo lekanyelitsoe ho potoloho e le 'ngoe feela).
Traefik
Website:
License: MIT
Moemeli eo qalong a neng a etselitsoe ho sebetsa ka kopo ea ho tsamaisa li-microservices le tikoloho ea tsona e matla. Mona ke moo likarolo tse ngata tsa bohlokoa li tsoang teng: ho ntlafatsa tlhophiso ntle le ho qala bocha, ts'ehetso ea palo e kholo ea mekhoa ea ho leka-lekanya, sebopeho sa marang-rang, ho fetisa metric, tšehetso ea liprothokholo tse fapaneng, REST API, li-canary releases, le tse ling tse ngata. Tšobotsi e 'ngoe e ntle ke tšehetso ea Let's Encrypt setifikeiti ka ntle ho lebokose. Taba e nyahamisang ke hore ho hlophisa boteng bo phahameng (HA), molaoli o tla hloka ho kenya le ho hokahanya polokelo ea eona ea KV.
HAProxy
Website:
License: Apache 2.0
HAProxy esale e tsejoa e le proxy le sephethephethe se leka-lekaneng. Ka har'a sehlopha sa Kubernetes, e fana ka ntlafatso ea "bonolo" (ntle le tahlehelo ea sephethephethe), ho sibolloa ha lits'ebeletso tse thehiloeng ho DNS, le tlhophiso e matla e sebelisang API. Tlhahiso e felletseng ea template ea config ka ho nkela CM sebaka, hammoho le bokhoni ba ho sebelisa mesebetsi ea laebrari ea Sprig ho eona, e ka khahla. Ka kakaretso, sepheo se seholo sa tharollo ke lebelo le phahameng, ts'ebetso ea eona, le katleho ea lisebelisoa tse sebelisoang. Molemo oa molaoli ke ts'ehetso bakeng sa palo ea rekoto ea mekhoa e fapaneng ea ho leka-lekanya.
Etela maeto
Website:
License: Apache 2.0
Taolo e thehiloeng ho HAproxy e behiloeng e le tharollo ea bokahohle e tšehetsang mefuta e mengata ea bokhoni ho palo e kholo ea bafani. E fana ka bokhoni ba ho leka-lekanya sephethephethe ho L7 le L4, 'me ho leka-lekanya sephethephethe sa TCP L4 ka kakaretso ho ka bitsoa e' ngoe ea likarolo tsa bohlokoa tsa tharollo.
Khohlano
Website:
License: Apache 2.0
Tharollo ena ha e thehiloe feela ho Envoy, e boetse e ntlafalitsoe mmoho le bangoli ba moemeli enoa ea tsebahalang. Ntho ea bohlokoa ke bokhoni ba ho arola tsamaiso ea lisebelisoa tsa Ingress ho sebelisa lisebelisoa tsa IngressRoute CRD. Bakeng sa mekhatlo e nang le lihlopha tse ngata tsa nts'etsopele e sebelisang sehlopha se le seng, sena se thusa ho boloka mosebetsi o sireletsehileng haholo le sephethephethe lipotolohong tsa boahelani le ho li sireletsa liphosong ha li fetola lisebelisoa tsa Ingress.
E boetse e fana ka mekhoa e mengata ea ho leka-lekanya (kopo ea seipone, ho pheta-pheta, ho fokotsa sekhahla sa likopo le tse ling tse ngata), ho lekola ka botlalo phallo ea sephethephethe le liphoso. Mohlomong ho motho e mong, ho hloka tšehetso bakeng sa mananeo a khomarelang e tla ba tšitiso e kholo (le hoja mosebetsi o le teng ).
Istio Ingress
Website:
License: Apache 2.0
Tharollo e pharalletseng ea mesh ea litšebeletso eo e seng feela molaoli oa Ingress ea laolang sephethephethe se kenang ho tsoa kantle, empa hape o laola sephethephethe sohle ka har'a sehlopha. "Ka tlas'a hood," Envoy e sebelisoa e le moemeli oa koloi e ka thōko bakeng sa tšebeletso ka 'ngoe. Ha e le hantle, ena ke motsoako o moholo o "ka etsang ntho e 'ngoe le e' ngoe," 'me mohopolo oa eona o ka sehloohong ke ho laola ka ho fetisisa, ho atolosoa, tšireletso le pepeneneng. Ka thuso ea eona, o ka hlophisa tsela ea sephethephethe hantle, tumello ea phihlello lipakeng tsa lits'ebeletso, ho leka-lekanya, ho beha leihlo, ho lokolloa ha canary, le tse ling tse ngata. Bala haholoanyane ka Istio letotong la lingoliloeng "".
Moemeli
Website:
License: Apache 2.0
Tharollo e 'ngoe e thehiloeng ho Lenģosa. E na le liphetolelo tsa mahala le tsa khoebo. E behiloe joalo ka "letsoalloa la Kubernetes ka botlalo", e leng se tlisang melemo e ts'oanang (kopano e tiileng le mekhoa le mekhatlo ea lihlopha tsa K8s).
tafole ea papiso
Kahoo, sehlohlolo sa sengoloa ke tafole ena e kholo:
E ka tobeha bakeng sa pono e qaqileng haholoanyane 'me e fumaneha hape ka sebopeho .
A re ke re akare
Sepheo sa sehlooho sena ke ho fana ka kutloisiso e feletseng (le hoja e sa phethehe!) ea khetho efe eo u lokelang ho e etsa tabeng ea hau. Joalo ka ha ho le joalo, molaoli e mong le e mong o na le melemo le mathata a hae…
Classic Ingress ho tloha Kubernetes e ntle bakeng sa ho fumaneha ha eona le ho tšepahala, bokhoni bo ruileng - ka kakaretso, e lokela ho ba ho feta ho lekaneng. Leha ho le joalo, haeba ho na le litlhoko tse eketsehileng tsa botsitso, boemo ba likarolo le nts'etsopele, ho bohlokoa ho ela hloko Ingress le NGINX Plus le ngoliso e lefelloang. Kong o na le li-plugins tse ngata ('me, ka hona, bokhoni boo ba fanang ka bona),' me mofuta o lefelloang o na le tse ling tse ngata. E na le bokhoni bo pharaletseng ba ho sebetsa joalo ka API Gateway, tlhophiso e matla e thehiloeng ho lisebelisoa tsa CRD, hammoho le lits'ebeletso tsa mantlha tsa Kubernetes.
Haeba u na le litlhoko tse eketsehileng tsa ho leka-lekanya le mekhoa ea tumello, shebisisa Traefik le HAProxy. Tsena ke merero ea Open Source e 'nileng ea lekoa ka lilemo, e tsitsitse ebile e ntse e tsoela pele ka mafolofolo. Contour e bile teng ka lilemo tse 'maloa, empa e ntse e shebahala e le monyane haholo ebile e na le bokhoni ba mantlha bo ekelitsoeng holim'a Envoy. Haeba u na le litlhoko tsa ho ba teng / ho kenngoa ha WAF pele ho kopo, u lokela ho ela hloko Ingress e tšoanang ho tloha Kubernetes kapa HAProxy.
'Me lihlahisoa tse nang le likarolo tse ngata ke tse hahiloeng holim'a Envoy, haholo-holo Istio. Ho bonahala e le tharollo e feletseng "e ka etsang ntho e 'ngoe le e' ngoe," eo, leha ho le joalo, e bolelang le moeli o phahameng haholo oa ho kena bakeng sa tlhophiso / qala / tsamaiso ho feta litharollo tse ling.
Re khethile 'me re ntse re sebelisa Ingress ho tloha Kubernetes e le molaoli ea tloaelehileng, o koahelang 80-90% ea litlhoko. E tšepahala haholo, e bonolo ho e hlophisa, ebile e ka atolosoa. Ka kakaretso, ha ho na litlhoko tse khethehileng, e lokela ho lumellana le lihlopha tse ngata / likopo. Har'a lihlahisoa tse tšoanang tsa bokahohleng le tse batlang li le bonolo, re ka khothaletsa Traefik le HAProxy.
PES
Bala hape ho blog ea rona:
- "Khutlela ho li-microservices le Istio": , , ;
- «";
- «".
Source: www.habr.com
