Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?

Phawula. transl.: esi sixhobo sivela kwiprojekthi yezemfundo funda8s yimpendulo yombuzo odumileyo xa uyila i-Kubernetes-based infrastructure. Siyathemba ukuba iinkcazo ezineenkcukacha ezilungileyo kunye neengozi zokhetho ngalunye ziya kukunceda wenze olona khetho lulungileyo lweprojekthi yakho.

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?

TL; DR: Isethi efanayo yomthwalo wemisebenzi inokuqhutywa kumaqela amakhulu amaninzi (iqela ngalinye liya kuba nenani elikhulu lomsebenzi) okanye kwiincinci ezincinci (kunye nenani elincinci lemithwalo kwiqela ngalinye).

Apha ngezantsi kukho itheyibhile evavanya izinto ezilungileyo nezingalunganga zendlela nganye:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?

Xa usebenzisa iKubernetes njengeqonga lokuqhuba izicelo, imibuzo emininzi esisiseko ihlala iphakama malunga nobunzima bokuseta amaqela:

  • Mangaphi amaqela ekufuneka ndiwasebenzise?
  • Ndizenze zibe nkulu kangakanani?
  • Kufuneka iquke ntoni iqela ngalinye?

Kule nqaku, ndiya kuzama ukuphendula yonke le mibuzo ngokuhlalutya okulungileyo kunye nokubi kwindlela nganye.

Ingxelo yombuzo

Njengomphuhlisi wesoftware, unokuphuhlisa kwaye usebenzise usetyenziso oluninzi ngexesha elinye.

Ukongeza, iimeko ezininzi zezi zicelo zinokuthi ziqhube kwiindawo ezahlukeneyo - umzekelo, ezi zinokuba njalo dev, uvavanyo ΠΈ Qhuba.

Isiphumo yimatrix epheleleyo yezicelo kunye nokusingqongileyo:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Usetyenziso kunye nokusiNgqongileyo

Umzekelo ongentla ubonisa izicelo ezi-3 kunye neendawo ezi-3, okukhokelela kwiinketho ezipheleleyo ze-9.

Umzekelo ngamnye wesicelo yiyunithi yokuthunyelwa ezimeleyo enokuthi kusetyenzwe ngayo ngokuzimeleyo kwabanye.

Qaphela oko umzekelo wesicelo inokuquka ezininzi zixhobo, njenge-frontend, i-backend, i-database, njl. Kwimeko yesicelo se-microservices, umzekelo uya kubandakanya zonke ii-microservices.

Ngenxa yoko, abasebenzisi bakaKubernetes banemibuzo emininzi:

  • Ngaba zonke iimeko zesicelo kufuneka zifakwe kwiqela elinye?
  • Ngaba kufanelekile ukuba neqela elahlukileyo kumzekelo wesicelo ngasinye?
  • Okanye mhlawumbi indibaniselwano yezi ndlela zingasentla kufuneka isetyenziswe?

Zonke ezi zikhetho ziyasebenza, kuba i-Kubernetes yinkqubo eguquguqukayo engathinteli amandla omsebenzisi.

Nazi ezinye iindlela ezinokwenzeka:

  • iqela elikhulu eliqhelekileyo;
  • amaqela amaninzi amancinci akhethekileyo;
  • Iqela elinye kwisicelo ngasinye;
  • Iqela elinye kwindawo nganye.

Njengoko kubonisiwe ngezantsi, iindlela ezimbini zokuqala zikwiziphelo ezichaseneyo zesikali sokhetho:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Ukusuka kumaqela amakhulu ambalwa (ekhohlo) ukuya kumaninzi amancinci (ekunene)

Ngokubanzi, iqoqo elinye lithathwa ngokuba "likhulu" kunelinye ukuba linesixa esikhulu seenodi kunye neepods. Ngokomzekelo, i-cluster ene-10 nodes kunye ne-100 pods inkulu kune-cluster ene-node eyi-1 kunye ne-10 pods.

Ewe, masiqalise!

1. Iqela elinye elikhulu eliqhelekileyo

Inketho yokuqala kukubeka yonke imithwalo yomsebenzi kwiqela elinye:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Iqela elinye elikhulu

Kule ndlela, i-cluster isetyenziswa njengendawo yonke iqonga leziseko zophuhliso -uthumela yonke into oyifunayo kwiqela elikhoyo leKubernetes.

Izithuba zamagama I-Kubernetes ivumela iinxalenye zeqela ukuba zahlulwe ngokwengqiqo enye kwenye, ukuze umzekelo wesicelo ngasinye ube nesithuba sawo samagama.

Makhe sijonge izinto ezilungileyo kunye nezibi zale ndlela.

+ Ukusetyenziswa ngokufanelekileyo kwezixhobo

Ngeqela elinye, udinga kuphela ikopi enye yazo zonke izixhobo ezifunekayo ukuqhuba nokulawula iqela leKubernetes.

Ngokomzekelo, oku kuyinyaniso kwii-master nodes. Ngokuqhelekileyo, iqoqo ngalinye le-Kubernetes linee-master nodes ezi-3, ngoko ke kwiqela elinye inani labo liya kuhlala linjalo (ukuthelekisa, amaqela ali-10 aya kufuna i-30 master nodes).

Le nkohliso ingentla iyasebenza nakwezinye iinkonzo ezisebenza kulo lonke iqela, ezifana nezilinganisi zomthwalo, izilawuli zokungena, uqinisekiso, ukugawulwa kwemithi kunye neenkqubo zokubeka iliso.

Kwiqela elinye, zonke ezi nkonzo zinokusetyenziswa kanye kuyo yonke imithwalo yomsebenzi (akukho mfuneko yokwenza iikopi zazo, njengoko kunjalo ngamaqela amaninzi).

+ Ngexabiso eliphantsi

Njengesiphumo soku kungasentla, amaqela ambalwa adla ngokungabizi kakhulu ngenxa yokuba akukho zindleko zingaphezulu.

Oku kuyinyani ngokukodwa kwii-master nodes, ezinokubiza ixabiso elikhulu lemali kungakhathaliseki ukuba zibanjwe njani (kwindawo okanye kwifu).

Ezinye ezilawulwa Kubernetes iinkonzo, ezifana Injini kaGoogle Kubernetes (GKE) okanye Inkonzo yeAzure Kubernetes (AKS), unikeze umaleko wolawulo simahla. Kule meko, umba weendleko awubi kakhulu.

Kukwakho neenkonzo ezilawulwayo ezihlawulisa umrhumo omiselweyo wokusebenza kweqela ngalinye leKubernetes (umzekelo, Inkonzo yeAmazon Elastic Kubernetes, EKS).

+ Ulawulo olusebenzayo

Ukulawula iqela elinye kulula kunokulawula ezininzi.

Ulawulo lunokubandakanya le misebenzi ilandelayo:

  • uhlaziyo lwenguqulelo yeKubernetes;
  • ukuseta umbhobho weCI/CD;
  • ukufaka iplagin yeCNI;
  • ukuseta inkqubo yoqinisekiso lomsebenzisi;
  • ukufakwa komlawuli wofikelelo;

kunye nabanye abaninzi…

Kwimeko yeqela elinye, kuya kufuneka wenze konke oku kube kanye kuphela.

Kumaqela amaninzi, imisebenzi kuya kufuneka iphindwe kaninzi, nto leyo eya kufuna ukuba iinkqubo ezithile zizenzekele kunye nezixhobo zokuqinisekisa ukungaguquguquki kunye nokungaguquguquki kwinkqubo.

Kwaye ngoku amagama ambalwa malunga ne-cons.

βˆ’ Inqaku elinye lokusilela

Kwimeko yokwala omnye kuphela iqela liya kuyeka ukusebenza kwangoko zonke imisebenzi emininzi!

Kukho iindlela ezininzi ezinokuhamba kakubi:

  • ukuhlaziya i-Kubernetes ikhokelela kwimiphumo engalindelekanga engalindelekanga;
  • Icandelo elibanzi (umzekelo, iplagi ye-CNI) iqala ukungasebenzi njengoko kulindelekile;
  • elinye lamacandelo eqela alimiselwanga ngokuchanekileyo;
  • ukusilela kwiziseko ezingundoqo.

Esinye isiganeko esinjalo sinokubangela umonakalo omkhulu kuyo yonke imithwalo yemisebenzi ebanjwe kwiqela ekwabelwana ngalo.

βˆ’ Akukho ukugquma okuqinileyo

Ukubaleka kwiqela ekwabelwana ngalo kuthetha ukuba izicelo zabelana ngehardware, izakhono zokunxibelelana, kunye nenkqubo yokusebenza kwiinodi zeqela.

Ngandlela ithile, izikhongozeli ezibini ezinezicelo ezibini ezahlukeneyo ezisebenza kwindawo enye zifana neenkqubo ezimbini ezisebenza kumatshini omnye osebenzisa i-OS kernel efanayo.

Izikhongozeli zeLinux zibonelela ngolunye uhlobo lokuzibekela bucala, kodwa ayiphantse yaqina njengaleyo ibonelelwe, yithi, oomatshini ababonakalayo. Ngokwenyani, inkqubo ekwisikhongozeli yinkqubo efanayo esebenza kwindlela yokusebenza yomamkeli.

Oku kunokuba ngumba wokhuseleko: olu lungiselelo ngokwethiyori luvumela izicelo ezinganxulumananga ukuba zinxibelelane (nokuba ngabom okanye ngempazamo).

Ukongeza, yonke imithwalo yemisebenzi kwiqela leKubernetes yabelana ngeenkonzo ezibanzi njengeqela DNS - oku kuvumela izicelo ukuba zifumane Iinkonzo zezinye izicelo kwiqela.

Zonke ezi ngongoma zingentla zinokuba neentsingiselo ezahlukeneyo ngokuxhomekeke kwiimfuno zokhuseleko lwesicelo.

I-Kubernetes ibonelela ngezixhobo ezahlukeneyo zokuthintela imiba yokhuseleko njenge PodSecurityPolicies ΠΈ NetworkPolicies. Nangona kunjalo, ukuseta ngokuchanekileyo kufuna amava athile; ukongeza, abakwazi ukuvala yonke imingxunya yokhuseleko.

Kubalulekile ukuhlala ukhumbula ukuba i-Kubernetes yayiyilelwe ekuqaleni ukwabelana, hayi ngenxa ukuba yedwa kunye nokhuseleko.

βˆ’ Ukunqongophala kwezindlu ezininzi ezingqongqo

Ukunikezelwa kobuninzi bezibonelelo ezabelwana ngazo kwiqela le-Kubernetes, kukho iindlela ezininzi apho izicelo ezahlukeneyo zinokunyathela kwiinzwane zomnye.

Umzekelo, usetyenziso lunokuthi lulawule isibonelelo ekwabelwana ngaso (esifana ne-CPU okanye inkumbulo) kwaye sikhanyele ezinye iinkqubo ezisebenza kwindawo enye yokungena kuyo.

I-Kubernetes ibonelela ngeendlela ezahlukeneyo zokulawula le ndlela yokuziphatha, njenge izicelo zezibonelelo kunye nemida (jonga nakwinqaku elithi β€œ Imida ye-CPU kunye nokubetha ngamandla kwi-Kubernetes "- malunga. guqulela.), ResourceQuotas ΠΈ ImidaRanges. Nangona kunjalo, njengakwimeko yokhuseleko, ulungelelwaniso lwabo alubalulekanga kwaye abakwazi ukukhusela ngokupheleleyo zonke iziphumo ebezingalindelekanga.

βˆ’ Inani elikhulu labasebenzisi

Kwimeko yeqela elinye, kufuneka uvule ukufikelela kulo kubantu abaninzi. Kwaye likhulu inani labo, liphezulu umngcipheko wokuba baya "kuphula" into ethile.

Ngaphakathi kweqela ungalawula ukuba ngubani onokwenza ntoni usebenzisa ulawulo lofikelelo olusekwe kwindima (RBAC) (jonga inqaku " Abasebenzisi kunye noGunyaziso lwe-RBAC eKubernetes "- malunga. guqulela.). Nangona kunjalo, ayizukuthintela abasebenzisi ukuba "baphule" into ngaphakathi kwemida yendawo yabo yoxanduva.

βˆ’ Amaqela akanakukhula ngokungenasiphelo

Iqela elisetyenziselwa yonke imithwalo yomsebenzi liya kuba likhulu kakhulu (ngokwenani leendawo zokuhlala kunye neepods).

Kodwa nantsi enye ingxaki ivela: amaqela e-Kubernetes awakwazi ukukhula ngokungenasiphelo.

Kukho umda wethiyori kubungakanani beqela. E-Kubernetes imalunga 5000 nodes, 150 amawaka pods kunye 300 amawaka izitya.

Nangona kunjalo, kubomi bokwenyani, iingxaki zinokuqala ngaphambili - umzekelo, kunye 500 amaqhina.

Inyani kukuba amaqoqo amakhulu abeka umthwalo ophezulu kwi-Kubernetes yolawulo lolawulo. Ngamanye amazwi, ukugcina iqela liphezulu kwaye lisebenza ngokufanelekileyo kufuna ukulungiswa ngononophelo.

Lo mbandela uphononongwa kwinqaku elihambelanayo kwibhlog yokuqala ebizwa ngokuba "Ukuqulunqa amaqela e-Kubernetes - ukukhetha ubungakanani benode yabasebenziΒ».

Kodwa makhe siqwalasele indlela eyahlukileyo: amaqela amaninzi amancinci.

2. Amaqela amaninzi amancinci, akhethekileyo

Ngale ndlela, usebenzisa iqela elahlukileyo kwinto nganye oyisebenzisayo:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Amaqela amancinci amaninzi

Ngeenjongo zeli nqaku, phantsi into enokuhanjiswa ibhekisa kumzekelo wesicelo - umzekelo, uguqulelo lwe-dev lwesicelo esahlukileyo.

Esi sicwangciso sisebenzisa iKubernetes njengento ekhethekileyo ixesha lokusebenza kwiimeko zesicelo ngasinye.

Makhe sijonge izinto ezilungileyo kunye nezibi zale ndlela.

+ "Irediyasi yokuqhuma" encinci

Xa iqela lingaphumeleli, iziphumo ezibi zithintelwa kuphela kuloo mthwalo womsebenzi owawusasazwe kwelo qela. Yonke eminye imisebenzi ihleli ingekachukunyiswa.

+ Ukhuselo

Umthwalo obanjwe kumaqela ngabanye awabelani ngezixhobo ezifana neprosesa, imemori, inkqubo yokusebenza, inethiwekhi, okanye ezinye iinkonzo.

Isiphumo kukukwahlula okuqinileyo phakathi kwezicelo ezingahambelaniyo, ezinokuba luncedo kukhuseleko lwazo.

+ Inani elincinci labasebenzisi

Ngenxa yokuba iqoqo ngalinye lineseti elinganiselweyo yomthwalo wemisebenzi, inani labasebenzisi abanokufikelela kuyo liyancitshiswa.

Abantu abambalwa banokufikelela kwiqela, usezantsi umngcipheko wokuba into "iya kuphuka".

Makhe sijonge iingxaki.

βˆ’ Ukusetyenziswa kakubi kwezibonelelo

Njengoko kukhankanyiwe ngaphambili, iqela ngalinye le-Kubernetes lifuna isethi ethile yezixhobo zokulawula: ii-master nodes, iinqununu zolawulo, ukubeka iliso kunye nezisombululo zokungena.

Kwimeko yenani elikhulu lamaqela amancinane, isabelo esikhulu sezibonelelo kufuneka sabelwe abaphathi.

βˆ’ Iyabiza

Ukusetyenziswa kakubi kwemithombo yobutyebi ngokuzenzekelayo kubandakanya iindleko eziphezulu.

Umzekelo, ukugcina ii-master nodes ezingama-30 endaweni yesithathu esinamandla afanayo ekhompyuter kuya kuchaphazela iindleko.

βˆ’ Ubunzima kulawulo

Ukulawula amaqela amaninzi e-Kubernetes kunzima kakhulu kunokulawula enye.

Umzekelo, kuya kufuneka uqwalasele ungqinisiso kunye nogunyaziso lweqela ngalinye. Inguqulo ye-Kubernetes kuya kufuneka ihlaziywe amaxesha amaninzi.

Kuya kufuneka ukuba usebenzise i-automation ukwenza yonke le misebenzi isebenze ngakumbi.

Ngoku makhe sijonge iimeko ezingaphantsi.

3. Iqela elinye kwisicelo ngasinye

Ngale ndlela, udala iqela elahlukileyo kuzo zonke iimeko zesicelo esithile:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Iqela ngokwesicelo

Le ndlela inokuqwalaselwa njengokwenziwa ngokubanzi komgaqo "iqela elahlukileyo kwiqela ngalinye”, kuba ngokwesiqhelo iqela leenjineli liphuhlisa usetyenziso olunye okanye ngaphezulu.

Makhe sijonge izinto ezilungileyo kunye nezibi zale ndlela.

+ Iqela linokulungiswa kwisicelo

Ukuba isicelo sineemfuno ezizodwa, zinokuphunyezwa kwi-cluster ngaphandle kokuchaphazela amanye amaqoqo.

Iimfuno ezinjalo zinokubandakanya abasebenzi be-GPU, iiplagi ezithile ze-CNI, i-mesh yenkonzo, okanye enye inkonzo.

Iqela ngalinye linokulungelelaniswa kwisicelo esisebenza kuyo ukuze iqulathe kuphela into efunekayo.

βˆ’ Iimeko ezingqongileyo ezahlukeneyo kwiqela elinye

Ukungalungi kwale ndlela kukuba iimeko zokusetyenziswa ezivela kwiindawo ezahlukeneyo zihlala kwiqela elinye.

Umzekelo, uguqulelo lwemveliso yesicelo lusebenza kwiqela elinye njengenguqulelo ye-dev. Oku kuthetha ukuba abaphuhlisi basebenza kwiqela elifanayo apho uguqulelo lwemveliso yesicelo lusebenza khona.

Ukuba, ngenxa yezenzo zabaphuhlisi okanye iiglitches kuguqulelo lwe-dev, ukusilela kwenzeka kwiqela, ngoko ke uguqulelo lweprod lunokubanakho ukubandezeleka ngokunjalo-ingxaki enkulu yale ndlela.

Kwaye ekugqibeleni, imeko yokugqibela kuluhlu lwethu.

4. Iqela elinye ngokusingqongileyo

Lo mzekelo ubandakanya ukwabiwa kweqela elahlukileyo kwindawo nganye:

Ukuyila amaqela eKubernetes: kufuneka abe mangaphi?
Iqela elinye ngokusingqongileyo

Umzekelo, unokuba namaqela dev, uvavanyo ΠΈ Qhuba, apho uya kuqhuba yonke imizekelo yesicelo esinikezelwe kwindawo ethile.

Nazi izinto ezilungileyo kunye nezibi zale ndlela.

+ Ukwahlulwa kwendawo yemveliso

Ngaphakathi kule ndlela, zonke iindawo ezisingqongileyo zodwa omnye komnye. Nangona kunjalo, ekusebenzeni oku kubaluleke kakhulu kwindawo yemveliso.

Iinguqulelo zemveliso yesicelo ngoku zizimeleyo kwinto eyenzekayo kwamanye amaqoqo kunye neendawo.

Ngale ndlela, ukuba ingxaki ivele ngesiquphe kwiqela le-dev, iinguqulelo zeprod zezicelo ziyakuqhuba zisebenza ngokungathi akukho nto yenzekileyo.

+ Iqela linokulungiswa kwimeko-bume

Iqela ngalinye linokulungelelaniswa kwindawo yalo. Umzekelo, unga:

  • faka izixhobo zophuhliso kunye nolungiso kwi-dev cluster;
  • faka iziseko zovavanyo kunye nezixhobo kwiqela uvavanyo;
  • sebenzisa i-hardware enamandla kunye namajelo enethiwekhi kwiqela Qhuba.

Oku kukuvumela ukuba ukwandise ukusebenza kakuhle kokubini uphuhliso lwesicelo kunye nokusebenza.

+ Ukuthintela ukufikelela kwiqela lemveliso

Isidingo sokusebenza ngokuthe ngqo kunye neqela lemveliso ayifane ivele, ngoko ke unokunqanda kakhulu isangqa sabantu abanokufikelela kuyo.

Ungaya nangakumbi kwaye ukwala abantu ukufikelela kweli qela ngokupheleleyo, kwaye wenze konke ukuthunyelwa usebenzisa isixhobo esizenzekelayo seCI/CD. Indlela enjalo iya kunciphisa umngcipheko weempazamo zabantu kanye apho kubaluleke kakhulu.

Kwaye ngoku amagama ambalwa malunga ne-cons.

βˆ’ Akukho mahluko phakathi kwezicelo

Ukungalungi okuphambili kwendlela kukungabikho kwe-hardware kunye ne-resource isolation phakathi kwezicelo.

Usetyenziso olungahambelaniyo lwabelana ngezixhobo zeqela: undoqo wenkqubo, iprosesa, inkumbulo, kunye nezinye iinkonzo.

Njengoko sele kukhankanyiwe, oku kunokuba yingozi.

βˆ’ Ukungakwazi ukubeka ukuxhomekeka kwisicelo

Ukuba isicelo sineemfuno ezizodwa, kufuneka zaneliseke kuwo onke amaqela.

Umzekelo, ukuba isicelo sifuna iGPU, iqela ngalinye kufuneka liqulathe ubuncinci umsebenzi omnye oneGPU (nokuba isetyenziswa kuphela seso sicelo).

Ngenxa yoko, sibeka emngciphekweni iindleko eziphezulu kunye nokusetyenziswa ngokufanelekileyo kwemithombo.

isiphelo

Ukuba uneseti ethile yezicelo, zinokubekwa kumaqela amakhulu amaninzi okanye amancinci amaninzi.

Eli nqaku lixoxa ngezinto ezilungileyo nezingalunganga zeendlela ezahlukeneyo, ukusukela kwiqela elinye lehlabathi ukuya kwezincinci ezincinci nezikhethekileyo:

  • iqela elikhulu jikelele;
  • amaqela amaninzi amancinci akhethekileyo;
  • Iqela elinye kwisicelo ngasinye;
  • Iqela elinye kwindawo nganye.

Yeyiphi ke indlela ofanele uyithathe?

Njengamaxesha onke, impendulo ixhomekeke kwimeko yokusetyenziswa: kufuneka ulinganise iinzuzo kunye neengxaki zeendlela ezahlukeneyo kwaye ukhethe olona khetho lufanelekileyo.

Nangona kunjalo, ukhetho alukhawulelwanga kwimizekelo engentla - ungasebenzisa nayiphi na indibaniselwano yabo!

Umzekelo, ungaququzelela iqela lamaqela kwiqela ngalinye: iqela lophuhliso (apho kuya kubakho iimo dev ΠΈ uvavanyo) kunye neqela le Mveliso (apho indawo yemveliso iya kuba khona).

Ngokusekwe kulwazi olukweli nqaku, unokwandisa okuhle kunye nokubi ngokufanelekileyo kwimeko ethile. Nqwenelela impumelelo!

PS

Funda nakwibhlog yethu:

umthombo: www.habr.com

Yongeza izimvo