Dulmarka iyo isbarbardhigga kontaroolayaasha Ingress ee Kubernetes

Dulmarka iyo isbarbardhigga kontaroolayaasha Ingress ee Kubernetes

Markaad bilaabayso kutlada Kubernetes ee codsi gaar ah, waxaad u baahan tahay inaad fahanto waxa codsiga laftiisa, ganacsiga, iyo horumariyayaashu u keenayaan ilahan. Macluumaadkan, waxaad bilaabi kartaa samaynta go'aanka dhismaha iyo, gaar ahaan, doorashada kontoroolka gudaha ee gaarka ah, kaas oo ay horeyba u jireen tiro badan maanta. Si loo helo fikrad aasaasi ah oo ku saabsan fursadaha la heli karo iyada oo aan la marin maqaallo badan / dukumeenti, iwm., waxaan diyaarinay dulmarkan, oo ay ku jiraan kuwa ugu muhiimsan (wax soo saarka diyaarsan) kontaroolayaasha gudaha.

Waxaan rajeyneynaa inay ka caawin doonto asxaabta inay doortaan xalka dhismaha - ugu yaraan waxay noqon doontaa barta bilawga ah ee helitaanka macluumaad faahfaahsan iyo tijaabooyin la taaban karo. Markii hore, waxaan ku barannay waxyaabo kale oo la mid ah shabakadda, si cajiib ah, ma aan helin hal ka badan ama ka yar oo dhammaystiran, iyo tan ugu muhiimsan - habaysan - dib u eegis. Haddaba aan buuxino farqigaas!

Shuruudo

Mabda 'ahaan, si loo sameeyo isbarbardhigga oo aad u hesho natiijo kasta oo faa'iido leh, waxaad u baahan tahay inaad fahamto ma aha oo kaliya mawduuca, laakiin sidoo kale waxaad haysataa liis gaar ah oo shuruudo ah oo dejin doona vector-ka cilmi-baarista. Anagoon iska dhigin inaad falanqeyso dhammaan kiisaska suurtagalka ah ee isticmaalka Ingress / Kubernetes, waxaan isku daynay inaan muujino shuruudaha guud ee kontaroolayaasha - u diyaar garow in xaalad kasta ay tahay inaad si gaar ah u barato dhammaan waxyaabahaaga gaarka ah iyo macluumaadkaaga.

Laakiin waxaan ku bilaabayaa sifooyinkii aad loo bartay ee lagu hirgeliyay dhammaan xalalka oo aan laga fiirsan:

  • helitaanka firfircoon ee adeegyada (helitaanka adeegga);
  • Joojinta SSL;
  • la shaqaynta websockets.

Haddaba qodobbada isbarbardhigga:

Nidaamyada la taageeray

Mid ka mid ah shuruudaha xulashada aasaasiga ah. Software-kaagu waxa laga yaabaa in aanu ku shaqayn HTTP caadiga ah, ama waxa uu u baahan karaa in laga shaqeeyo borotokool badan hal mar. Haddii kiiskaagu yahay mid aan caadi ahayn, hubi inaad xisaabtan ku darsato qodobkan si aadan dib u habeyn ugu sameyn kutlada dambe. Dhammaan kantaroolayaasha, liiska borotokoolka la taageeray wuu kala duwan yahay.

software ee xudunta u ah

Waxaa jira dhawr nooc oo codsiyo ah oo koontarooluhu ku saleysan yahay. Kuwa caanka ah waa nginx, traefik, haproxy, ergeyga. Xaaladda guud, waxaa laga yaabaa inaysan saameyn badan ku yeelan sida gaadiidka loo helo iyo la isugu gudbiyo, laakiin had iyo jeer waa faa'iido leh in la ogaado nuancesyada suurtagalka ah iyo sifooyinka waxa "hoosta ka hooseeya".

Jideynta gaadiidka

Iyada oo ku saleysan waxa suurtagal ah in la sameeyo go'aan ku saabsan jihada taraafikada adeeg gaar ah? Caadi ahaan kuwani waa martigelin iyo waddo, laakiin waxaa jira fursado dheeraad ah.

Meesha magaceed ee kutlada dhexdeeda

Magaca meelaynta (magaca magaca) - awoodda si macquul ah u kala qaybinta ilaha Kubernetes (tusaale ahaan, marxaladda, wax soo saarka, iwm.). Waxaa jira kontaroolayaasha gudaha oo ay tahay in si gaar ah loogu rakibo meel kasta oo magaceed (ka dibna waxay toosin kartaa taraafikada oo keliya ilaa saqafyada meeshan). Waxaana jira kuwa (iyo badidooda cad) oo si caalami ah uga shaqeeya kooxda oo dhan - iyaga oo taraafikada lagu hagayo kutlada kasta, iyada oo aan loo eegin meesha magaca.

Tusaalooyinka durdurrada sare

Sidee gaadiidka loogu jiheeyaa xaaladaha caafimaadka qaba ee codsiga, adeegyada? Waxaa jira xulashooyin leh hubin firfircoon oo aan fiicneyn, isku dayo, jebiyayaal wareeg ah (Wixii faahfaahin dheeraad ah, eeg, tusaale ahaan, maqaal ku saabsan Istio), fulinta u gaarka ah ee hubinta caafimaadka (baaritaannada caafimaadka gaarka ah), iwm. Halbeeg aad u muhiim ah haddii aad leedahay shuruudo sare oo loogu talagalay helitaanka iyo ka saarida waqtigeeda ee adeegyada guuldarraystay ee dheellitirka.

Isku dheelitirka algorithms

Waxaa jira doorashooyin badan: laga bilaabo dhaqanka wareeg-robin si qalaad rdp-cookies, iyo sidoo kale sifooyinka gaarka ah sida fadhiyo dhegdheg leh.

Xaqiijinta

Waa maxay nidaamyada oggolaanshaha uu maamuluhu taageero? Aasaaska, dheefshiidka, dhaarta, dibadda-auth - Waxaan u maleynayaa in xulashooyinkan ay tahay in la yaqaan. Tani waa shuruud muhiim ah haddii ay jiraan soo-saareyaal badan (iyo/ama gaar gaar ah) kuwaas oo laga galo gudaha gudaha.

Qaybinta gaadiidka

Kantarooluhu ma taageeraa hababka qaybinta taraafikada ee sida caadiga ah loo isticmaalo sida wareejinta canary (kanary), tijaabada A/B, muraayada taraafigga (muraayadaha/ hadhaynta)? Tani waa mawduuc runtii aad u xanuun badan codsiyada u baahan maamul sax ah oo sax ah oo taraafikada si loo tijaabiyo wax soo saar leh, ciribtirka cayayaanka alaabta khadka (ama khasaaraha ugu yar), falanqaynta taraafikada, iyo wixii la mid ah.

Lacag-ururinta

Ma jirtaa ikhtiyaar lacag la'aan ah oo loogu talagalay xakamaynta, oo leh shaqeyn horumarsan iyo / ama taageero farsamo?

Interface isticmaale garaaf ahaan (Web UI)

Ma jiraa wax GUI ah oo lagu maareeyo habaynta kontaroolaha? Inta badan "faraxsanaanta" iyo / ama kuwa u baahan inay wax ka beddelaan qaabeynta Ingress'a, laakiin la shaqeynta qaababka "ceeriin" waa dhib. Waxay noqon kartaa mid faa'iido leh haddii horumariyayaashu ay rabaan inay sameeyaan xoogaa tijaabooyin ah taraafikada duulista.

Ansixinta JWT

Joogitaanka ansaxinta gudaha ee JSON calaamadaha shabkada ee ogolaanshaha iyo ansaxinta isticmaalaha ilaa codsiga dhamaadka.

Fursadaha habaynta habaynta

Samaynta qaabaynta macnaha haysashada habab kuu ogolaanaya inaad ku darto awaamiirtaada, calanka, iwm. qaabaynta qaabaynta caadiga ah.

Hababka ilaalinta aasaasiga ah ee DDOS

Xaddiga fudud ee algorithms-yada ama ikhtiyaarrada shaandhaynta taraafikada ee kakan ee ku salaysan cinwaannada, liisaska cadcad, waddamada, iwm.

Codso raad raac

Awoodda la socodka, dabagalka iyo ciribtirka codsiyada ka imanaya Ingresses ilaa adeegyo gaar ah / boodhyo, iyo sida ugu habboon inta u dhaxaysa adeegyada / boodhka sidoo kale.

WAF

taageero firewall codsiga.

Koontaroolayaasha

Liiska kantaroolayaasha ayaa la sameeyay iyadoo lagu salaynayo dukumentiyada rasmiga ah ee Kubernetes ΠΈ miiskaan. Waxaan ka saarnay qaar ka mid ah dib u eegista sababtoo ah gaar ahaan ama baahsanaanta hoose (marxaladda hore ee horumarka). Inta soo hartay ayaa lagu falanqeynayaa hoos. Aan ku bilowno sharraxaadda guud ee xalalka oo aan sii wadno shax kooban.

Ka soo galitaanka Kubernetes

Website: github.com/kubernetes/ingress-nginx
Shatiga: Apache 2.0

Kani waa maamulaha rasmiga ah ee Kubernetes waxaana soo saaray bulshada. Sida iska cad magaca, waxay ku salaysan tahay nginx waxaana lagu kabay noocyo kala duwan oo Lua plugins ah oo loo isticmaalo hirgelinta sifooyin dheeraad ah. Sababtoo ah caannimada nginx lafteeda iyo isbeddelada ugu yar ee lagu sameeyo marka loo isticmaalo xakameyn ahaan, doorashadani waxay noqon kartaa midda ugu fudud uguna fudud ee loo habeeyo celceliska injineerka (oo leh khibrad shabakad).

Soo galitaanka NGINX Inc.

Website: github.com/nginxinc/kubernetes-ingress
Shatiga: Apache 2.0

Wax soo saarka rasmiga ah ee horumarinta nginx. Leh nooc lacag ah oo ku salaysan NGINX Plus. Fikradda ugu weyn waa xasillooni heer sare ah, iswaafajin joogto ah oo dib u dhac ah, maqnaanshaha nooc kasta oo ka baxsan iyo xawaaraha kordhay ee lagu dhawaaqay (marka la barbar dhigo kantaroolaha rasmiga ah), oo lagu gaadhay diidmada Lua.

Nooca bilaashka ah si weyn ayaa loo dhimay, oo ay ku jirto xitaa marka la barbar dhigo kantaroolaha rasmiga ah (sabato la'aanta cutubyada Lua la mid ah). Isla mar ahaantaana, kan la bixiyay wuxuu leeyahay hawlqabad dheeri ah oo ballaaran: cabbirrada waqtiga-dhabta ah, ansaxinta JWT, hubinta caafimaadka firfircoon, iyo in ka badan. Faa'iidada muhiimka ah ee NGINX Ingress waa taageero buuxda oo loogu talagalay taraafikada TCP / UDP (iyo nooca bulshada sidoo kale!). Laga jaray - la'aanta Habka qaybinta taraafikada, kaas oo, si kastaba ha ahaatee, "ayaa leh mudnaanta ugu sareysa ee horumarinta," laakiin waxay qaadataa wakhti si loo hirgeliyo.

Kong Ingress

Website: github.com/Kong/kubernetes-ingress-controller
Shatiga: Apache 2.0

Alaabada uu sameeyay Kong Inc. laba qaybood: ganacsi iyo lacag la'aan. Iyada oo ku saleysan nginx, kaas oo lagu kordhiyay tiro badan oo modules Lua ah.

Markii hore, waxaa diiradda lagu saaray habaynta iyo habaynta codsiyada API, i.e. sida API Gateway, laakiin wakhtigan xaadirka ah waxay noqotay kontorool gudaha ah oo dhamaystiran. Faa'iidooyinka ugu muhiimsan: qaybo badan oo dheeraad ah (oo ay ku jiraan kuwa ka socda kuwa saddexaad ee horumarinta) kuwaas oo si sahlan loo rakibo loona habeeyo iyo iyadoo la kaashanayo taas oo sifooyin badan oo dheeraad ah la hirgeliyay. Si kastaba ha ahaatee, hawlaha la dhisay ayaa durbaba bixiya fursado badan. Qaabeynta shaqada waxaa lagu sameeyaa iyadoo la adeegsanayo agabka CRD.

Muuqaal muhiim ah oo ka mid ah badeecada - ka shaqeynta isku midka ah ee isku midka ah (halkii la isku dhejin lahaa) waa mawduuc muran leh: qaar ka mid ah waxay u ekaan doontaa faa'iido darro (waa inaad soo saartaa hay'ad kasta oo koonto ah), qofna waxay u tahay muuqaal ( bΠΎHeer ka weyn ee go'doomin, sida haddii hal koontarooluhu jabo, markaa dhibaatadu waxay ku kooban tahay wareegga oo keliya).

Traefik

Website: github.com/containous/traefik
Shatiga: MIT

Wakiil asal ahaan loo abuuray si uu ugala shaqeeyo habaynta codsiga adeegyada yar yar iyo deegaankooda firfircoon. Sidaa darteed, sifooyin badan oo faa'iido leh: cusboonaysiinta qaabeynta iyada oo aan dib loo bilaabin gabi ahaanba, taageer tiro badan oo habab isku dheelitiran, interface interface, gudbinta cabbirka, taageerada borotokoolka kala duwan, REST API, sii deynta canary, iyo wax ka badan. Muuqaal kale oo wanaagsan ayaa ah taageerada Aan sirin shahaadooyinka ka baxsan sanduuqa. Khasaaraha ayaa ah in si loo abaabulo helitaan sare (HA), koontarooluhu wuxuu u baahan doonaa inuu rakibo oo ku xiro kaydkiisa KV.

HAProxy

Website: github.com/jcmoraisjr/haproxy-ingress
Shatiga: Apache 2.0

HAProxy muddo dheer ayaa loo yaqaanay wakiil iyo dheelitiriyaha taraafikada. Iyada oo qayb ka ah kutlada Kubernetes, waxay bixisaa habayn "jilicsan" casriyeyn (iyada oo aan la lumin taraafikada), helitaanka adeegga ku salaysan DNS, qaabeynta firfircoon iyadoo la adeegsanayo API. Waxay noqon kartaa mid soo jiidasho leh in si buuxda loo habeeyo qaabka qaabeynta iyadoo la beddelayo CM, iyo sidoo kale awoodda lagu isticmaalo hawlaha maktabadda Sprig ee dhexdeeda. Guud ahaan, diiradda ugu weyn ee xalku waa xawaaraha sare, hagaajintiisa iyo hufnaanta kheyraadka la isticmaalo. Faa'iidada koontarooluhu waa taageerada tirada rikoodhada ee hababka isku dheelitirka ee kala duwan.

Voyager

Website: github.com/appscode/voyager
Shatiga: Apache 2.0

Iyada oo ku saleysan kontoroolka HAproxy, kaas oo loo dhigay sidii xal caalami ah oo taageera astaamo badan oo tiro badan oo bixiyeyaasha ah. Fursad ayaa la bixiyaa si loogu dheellitiro taraafikada L7 iyo L4, iyo isu dheellitirka TCP L4 guud ahaan taraafikada waxaa lagu magacaabi karaa mid ka mid ah astaamaha ugu muhiimsan ee xalka.

Kontaraag

Website: github.com/heptio/contour
Shatiga: Apache 2.0

Xalkan kuma salaysna Ergey oo keliya: waxaa soo saaray si wadajir ah oo leh qorayaasha wakiilkan caanka ah. Muuqaalka muhiimka ah waa awooda lagu kala saaro xakamaynta ilaha Ingress iyadoo la adeegsanayo ilaha IngressRoute CRD. Ururada leh kooxo badan oo horumarineed oo isticmaalaya koox isku mid ah, tani waxay gacan ka geysaneysaa in la kordhiyo amniga la shaqeynta taraafikada ee wareegyada deriska ah iyo ka ilaalinta khaladaadka marka la bedelayo ilaha Ingress.

Waxa kale oo ay soo bandhigtaa habab dheellitiran oo la fidiyay (waxaa jira muraayad codsiyada, si toos ah ugu celiska ah, xaddididda heerka codsiyada, iyo wax ka badan), kormeer faahfaahsan oo ku saabsan socodka taraafikada iyo guuldarrooyinka. Waxaa laga yaabaa in qof ay dhibaato weyn ku tahay taageerada la'aanta fadhiyada dhegdheg leh (inkasta oo shaqada horeba u socday).

Istio Ingress

Website: istio.io/docs/tasks/maaraynta gaadiidka/gudbinta
Shatiga: Apache 2.0

Xalka adeega dhamaystiran ee mesh-ka kaas oo aan ahayn kantaroolaha Ingress-ka ee maamula taraafikada dibadda ka imaanaya, laakiin sidoo kale xakameynaya dhammaan taraafikada gudaha kutlada. Daboolka hoostiisa, Ergaygu waxa loo isticmaalaa wakiil gaadhi dhinaceed adeeg kasta. Nuxur ahaan, tani waa isku-dar weyn oo "wax walba samayn kara", fikradeeda ugu weynina waa maaraynta ugu badan, xoojinta, amniga iyo daahfurnaanta. Iyada, waxaad si fiican u hagaajin kartaa marinka taraafikada, marin u helka oggolaanshaha u dhexeeya adeegyada, dheelitirka, la socodka, sii daynta canary, iyo wax ka badan. Wax badan oo ku saabsan Istio ka akhri maqaallada taxanaha ah "Ku laabo adeegaha yaryar ee Istio".

Safiirka

Website: github.com/datawire/ambassador
Shatiga: Apache 2.0

Xal kale oo ku salaysan Ergayga. Waxay leedahay noocyo bilaash ah iyo kuwo ganacsi. Waxay u taagan tahay sidii "si buuxda ugu dhalatay Kubernetes", taasoo keenaysa faa'iidooyinka u dhigma (is-dhexgalka adag ee hababka iyo qaybaha kooxda K8s).

isbarbar dhig miiska

Haddaba, gunaanadka maqaalku waa shaxdan wayn:

Dulmarka iyo isbarbardhigga kontaroolayaasha Ingress ee Kubernetes

Waa la riixi karaa si loo eego muuqaal dhow, sidoo kale waxaa lagu heli karaa qaabka Waraaqaha Google.

Aan soo koobno

Ujeedada maqaalkani waa in la bixiyo faham dhammaystiran (si kastaba ha ahaatee, sinaba loo dhammayn!) ee doorashada aad samaynayso kiiskaaga gaarka ah. Sida caadiga ah, maamule kastaa wuxuu leeyahay faa'iidooyin iyo faa'iido darrooyin u gaar ah…

Ingress-ka caadiga ah ee Kubernetes wuxuu u fiican yahay helitaankiisa iyo caddayntiisa, sifooyinka hodanka ah ee ku filan - kiiska guud, waa inay ahaataa "indhaha ku filan". Si kastaba ha noqotee, haddii ay jiraan shuruudo kordhay oo loogu talagalay xasilloonida, heerka astaamaha iyo horumarka, waa inaad fiiro gaar ah u yeelataa Ingress oo leh NGINX Plus iyo rukunno lacag ah. Kong wuxuu leeyahay xirmooyinka ugu qanisan ee plug-ins (iyo, si waafaqsan, fursadaha ay bixiyaan), iyo nooca la bixiyo waxaa jira xitaa in ka badan. Waxay haysataa fursado badan oo ay ugu shaqeyso sidii Kadinka API, qaabayn firfircoon oo ku salaysan ilaha CRD, iyo sidoo kale adeegyada aasaasiga ah ee Kubernetes.

Iyada oo la kordhinayo shuruudaha dheelitirka iyo hababka oggolaanshaha, eeg Traefik iyo HAProxy. Kuwani waa mashruucyo Isha Furan, oo la xaqiijiyay sanadihii la soo dhaafay, aad u deggan oo si firfircoon u koraya. Contour waxa uu maqnaa muddo laba sano ah hadda, laakiin wali waxa ay u muuqataa mid aad u yar oo waxa kaliya ee lagu daray sifada aasaasiga ah ee korka Ergeyga. Haddii ay jiraan shuruudo loogu talagalay joogitaanka / ku-xidhka WAF ee arjiga hortiisa, waa inaad fiiro gaar ah u yeelataa isla ka soo galitaanka Kubernetes ama HAProxy.

Kuwa ugu qanisan marka la eego sifooyinku waa badeecooyin lagu dhisay korka ergeyga, gaar ahaan Istio. Waxay u muuqataa in ay tahay xal dhammaystiran oo "wax walba samayn kara", taas oo, si kastaba ha ahaatee, sidoo kale waxay ka dhigan tahay heer aad u sarreeya oo gelitaanka qaabeynta / bilaabista / maamulka marka loo eego xalalka kale.

Waxaan dooranay oo aan wali u isticmaalnay Ingress ka Kubernetes sidii kontaroolaha caadiga ah, kaas oo daboolaya 80-90% baahiyaha. Waa arrin la isku halayn karo, fududahay in la habeeyo oo la ballaariyo. Guud ahaan, maqnaanshaha shuruudo gaar ah, waa in ay ku habboonaato inta badan kooxaha / codsiyada. Isla badeecadaha caalamiga ah iyo kuwa fudud, Traefik iyo HAProxy waa lagu talin karaa.

PS

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment