Phawula. transl.: esi sixhobo sivela kwiprojekthi yezemfundo
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:
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:
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:
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:
Iqela elinye elikhulu
Kule ndlela, i-cluster isetyenziswa njengendawo yonke iqonga leziseko zophuhliso -uthumela yonke into oyifunayo kwiqela elikhoyo leKubernetes.
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
Kukwakho neenkonzo ezilawulwayo ezihlawulisa umrhumo omiselweyo wokusebenza kweqela ngalinye leKubernetes (umzekelo,
+ 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
Zonke ezi ngongoma zingentla zinokuba neentsingiselo ezahlukeneyo ngokuxhomekeke kwiimfuno zokhuseleko lwesicelo.
I-Kubernetes ibonelela ngezixhobo ezahlukeneyo zokuthintela imiba yokhuseleko njenge
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
β 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
β 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
Nangona kunjalo, kubomi bokwenyani, iingxaki zinokuqala ngaphambili - umzekelo, kunye
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 "
Kodwa makhe siqwalasele indlela eyahlukileyo: amaqela amaninzi amancinci.
2. Amaqela amaninzi amancinci, akhethekileyo
Ngale ndlela, usebenzisa iqela elahlukileyo kwinto nganye oyisebenzisayo:
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:
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:
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:
- Β«
Isikhokelo esiBonakalayo sokuJonga ingxaki kwi-Kubernetes "; - Β«
Ngena kwi-Kubernetes (kwaye kungekhona kuphela) namhlanje: okulindelweyo kunye nenyani "; - Β«
I-Service Mesh: Yintoni ekufuneka uyazi ngayo yonke iNjineli yeSoftware malunga neTekhnoloji eHottest "; - Β«
I-ABC yoKhuseleko kwi-Kubernetes: Ukuqinisekiswa, uGunyaziso, uPhicotho-zincwadi Β».
umthombo: www.habr.com