Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?

Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?
Marka la abuurayo koox Kubernetes ah, su'aalo ayaa laga yaabaa inay soo baxaan: imisa qanjidhada shaqaalaha si loo habeeyo iyo nooca? Maxaa u roon kooxda goobta ku taal: iibso dhawr adeegayaal awood leh ama isticmaal darsin mashiin oo duug ah xaruntaada xogta? Miyay ka fiican tahay inaad qaadato siddeed hal-core ama laba qaybood oo quad-core ah daruuraha?

Jawaabaha su'aalahan waxay ku jiraan maqaalka. Daniel Weibel, injineer software iyo macalinka mashruuca waxbarashada Learnk8s tarjumaada amarka Kubernetes aaS ka Mail.ru.

Awooda kooxda

Guud ahaan, kooxda Kubernetes waxaa loo malayn karaa inay tahay "supernode" weyn. Awoodda xisaabinta guud waa wadarta awoodaha dhammaan noodyada ka kooban.

Waxaa jira dhowr siyaabood oo aad ku gaari karto yoolka awooda kooxda aad rabto. Tusaale ahaan, waxaan u baahanahay koox leh wadarta guud ee 8 processor cores iyo 32 GB oo RAM ah sababtoo ah xirmooyinka codsiyada waxay u baahan yihiin ilo badan. Markaa waxaad ku rakibi kartaa laba noode oo leh 16 GB oo xusuusta ah ama afar nood oo leh 8 GB oo xusuusta ah, laba processor-ka Quad-core ama afar dual-core.

Halkan waxaa ah laba siyaabood oo suurtagal ah oo loo abuuri karo koox:

Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?
Labada doorashoba waxay soo saaraan koox leh awood isku mid ah, laakiin qaabeynta hoose waxay leedahay afar nood oo yaryar iyo qaabeynta sare waxay leedahay laba nood oo waaweyn.

Doorkee ayaa ka wanaagsan?

Si aan uga jawaabno su'aashan, aan eegno faa'iidooyinka labada doorasho. Waxaan ku soo koobnay shaxda.

Dhowr guntimo oo waaweyn

Noocyo yaryar oo badan

Maaraynta koox fudud (haddii ay tahay goobta)

Otoscaling siman

Ka jaban (haddii goobta la joogo)

qiimuhu wax yar ayuu ka duwan yahay (daruur dhexdeeda)

Wuxuu socodsiin karaa codsiyada ku-ool kheyraadka

Ku celcelin buuxda

Khayraadka waxa loo istcimaalay si hufan
Dulqaad sare oo khaladaadka kooxda

Fadlan ogow in aan ka hadlayno kaliya qanjidhada shaqaalaha. Doorashada tirada iyo cabbirka qanjidhada muhiimka ah waa mawduuc gebi ahaanba ka duwan.

Haddaba, aan si faahfaahsan uga doodno qodob kasta oo miiska ka soo baxa.

Doorashada koowaad: dhowr nood oo waaweyn

Xulashada ugu daran waa hal noode shaqaale ee awoodda kooxda oo dhan. Tusaalaha kor ku xusan, tani waxay noqonaysaa hal unug shaqaale ah oo leh 16 cores CPU iyo 16 GB RAM ah.

Maqaallo

Plus No. 1. Maamulka fudud
Way ka sahlan tahay in la maareeyo dhawr mashiin marka loo eego raxan dhan. Way dhakhso badan tahay in la soo saaro cusbooneysiinta iyo hagaajinta, wayna fududahay in la isku xidho. Tirada guuldarrooyinka ee tirooyinka dhammaystiran ayaa sidoo kale ka yar.

Fadlan ogow in dhammaan kuwan kor ku xusan ay khuseeyaan qalabkaaga, server-yadaada, oo aan ahayn xaaladaha daruuraha.

Xaaladdu way ka duwan tahay daruuraha. Halkaa, maamulka waxa gacanta ku haya bixiyaha adeegga daruuraha. Markaa, maamulida tobanka nood ee daruurtu aad ugama duwana maaraynta hal noode.

Jideynta taraafikada iyo qaybinta culeyska ee u dhexeeya galalka daruuraha ah si toos ah loo sameeyo: gaadiidka ka imaanaya internetka waxaa loo diraa culeyska culeyska weyn, kaas oo u sii gudbiya taraafikada dekedda mid ka mid ah noodyada (adeegga NodePort wuxuu dekeddu u dhigayaa inta u dhexeysa 30000-32767 ee noodhka koox kasta). Xeerarka ay dajiyaan kube-wakiil waxay taraafikada ka jiheeyaan noodhka una jiheeyaan podka. Waa kuwan sida ay u eg yihiin toban gadhood oo ku yaal labada nood:

Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?
Pro #2: Kharash ka yar node kasta
Baabuurka xoogga leh waa ka qaalisan yahay, laakiin kororka qiimuhu maahan mid toosan. Si kale haddii loo dhigo, hal server oo toban-core ah oo leh 10 GB oo xusuusta ah ayaa inta badan ka jaban toban server oo hal-core ah oo leh qaddar isku mid ah.

Laakiin ogow in xeerkani aanu inta badan ka shaqaynayn adeegyada daruuraha. Nidaamyada qiimaha hadda jira ee dhammaan bixiyeyaasha daruuraha waaweyn, qiimayaashu waxay u koraan si toos ah iyada oo la adeegsanayo awoodda.

Sidaa darteed, daruuraha inta badan ma kaydin kartid server-yada ka awood badan.

Pro #3: Waxaad samayn kartaa codsiyada ku-dhaqdhaqaaqa kheyraadka
Codsiyada qaarkood waxay u baahan yihiin adeegayaal awood leh oo ku jira koox. Tusaale ahaan, haddii nidaamka barashada mashiinka uu u baahan yahay 8 GB oo xusuusta ah, ma awoodi doontid inaad ku socodsiiso qandhada 1 GB, laakiin kaliya ugu yaraan hal noode shaqaale weyn ah.

Minusa

Khasaaro No. 1. Gado badan halkii nood
Haddii hawl isku mid ah lagu sameeyo qandho yar, markaa mid kasta oo iyaga ka mid ah ayaa si dabiici ah u yeelan doona boodhyo badan.

Tani waxay noqon kartaa dhibaato.

Sababta ayaa ah in cutub kastaa uu soo bandhigo xoogaa kor u kaca ah oo ku saabsan waqtiga weelka (sida Docker), iyo sidoo kale kubelet iyo lataliye.

Tusaale ahaan, kubelet-ku wuxuu si joogto ah u baadhayaa dhammaan weelasha dhinaca udub-dhexaadka u ah badbaadada - weelasha bataana, shaqada badan ee kubeletku waa inay qabato.

CAdvisor wuxuu ururiyaa xisaabaadka isticmaalka kheyraadka ee dhammaan weelasha ku yaal budada, kubeletna waxay si joogto ah u waydiisaa macluumaadkan oo ku siiya API ah. Mar labaad, weelal badan waxay ka dhigan tahay shaqo dheeraad ah labadaba cAdvisor iyo kubelet.

Haddii tirada modulesyadu kordho, waxay hoos u dhigi kartaa nidaamka oo xitaa waxay wiiqi kartaa isku halaynta.

Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?
Kubernetes kaydka qaar ka cawdayqanjidhadaas waxay ka boodaan inta u dhaxaysa heerka Ready/NotReady sababtoo ah kubelet hubinta joogtada ah ee dhammaan weelasha ku yaala noodhka waxay qaadataa waqti dheer.
Sababtan awgeed Kubernetes waxay ku talinaysaa in la dhigo wax aan ka badnayn 110 xabo halkii nood. Iyada oo ku xidhan waxqabadka noodhka, waxaad ku ordi kartaa boodhyo badan halkii nood, laakiin way adagtahay in la saadaaliyo inay jiri doonaan dhibaatooyin ama wax walba si fiican ayey u shaqayn doonaan. Waxaa habboon in horay loo sii tijaabiyo shaqada.

Khasaaraha No. 2. Xaddidaadda ku-noqoshada
Noocyo aad u yar ayaa xaddidaya heerka wax ku oolka ah ee ku celcelinta codsiga. Tusaale ahaan, haddii aad haysato codsi helitaan sare leh oo leh shan nuqul balse laba nood oo keliya, markaa heerka wax ku oolka ah ee codsiga waxa lagu dhimayaa laba.

Shan nuqul ayaa loo qaybin karaa oo kaliya laba nood, oo haddii mid ka mid ah uu ku guuldareysto, waxay hoos u dhigi doontaa nuqullo badan hal mar.

Haddii aad leedahay shan nood ama ka badan, nuqul kastaa wuxuu ku socon doonaa noode gooni ah, iyo guuldarada hal noode waxay meesha ka saaraysaa ugu badnaan hal nuqul.

Haddaba, shuruudaha helitaanka sare waxa laga yaabaa inay u baahdaan tirada ugu yar ee noodhka ee kooxda.

Khasaare No. 3. Cawaaqib xumada ka dhalan karta guuldarada
Iyada oo tiro yar oo qanjidhada ah, guuldarradu waxay leedahay cawaaqib xun. Tusaale ahaan, haddii aad leedahay laba nood oo keliya oo mid ka mid ah uu ku guuldareysto, kala bar qaybahaaga ayaa isla markiiba baaba'a.

Dabcan, Kubernetes waxay ka guuri doontaa culeyska shaqada ee qanjidhada guuldareystay una guuri doonta kuwa kale. Laakiin haddii ay jiraan wax yar oo iyaga ka mid ah, markaa waxaa laga yaabaa inaysan jirin awood bilaash ah oo ku filan. Natiijo ahaan, qaar ka mid ah codsiyadaada lama heli doono ilaa aad ka keento noodhka fashilmay.

Sidaa darteed, qanjidhada badan, waxaa yaraanaya saameynta cilladaha qalabka.

Khasaaro #4: Tallaabooyin is-qaadis oo badan
Kubernetes waxay leedahay nidaam is-miisaamid kooxeed oo loogu talagalay kaabayaasha daruuraha, kaas oo kuu oggolaanaya inaad si toos ah ugu darto ama ka saarto noodhka iyadoo ku xidhan baahiyahaaga hadda. Iyada oo qanjidhada waaweyn, autoscaling waxay noqotaa mid kadis ah oo qallafsan. Tusaale ahaan, labada nood, ku darida noodhka dheeraadka ah waxay isla markiiba kordhin doontaa awoodda kooxda 50%. Oo waa inaad bixisaa kharashkaas, xitaa haddii aadan u baahnayn.

Sidaa darteed, haddii aad qorshaynayso inaad isticmaasho iskoorka cluster-ka otomaatiga ah, qanjidhada yar yar, ayaa aad heli doonta miisaan dabacsan oo kharash-ool ah.

Haddaba aynu eegno faa'iidooyinka iyo khasaaraha tiro badan oo qanjidhada yar yar.

Doorashada labaad: qanjidhada yaryar oo badan

Faa'iidooyinka habkani wuxuu asal ahaan ka yimaadaa faa'iido darrada ikhtiyaarka ka soo horjeeda oo leh dhowr nood oo waaweyn.

Maqaallo

Pro #1: Saamaynta guuldarada oo yaraata
Inta noodhku badato, waxa yaraanaya gadh-xannuunnada dud kasta. Tusaale ahaan, haddii aad leedahay boqol modules tobankiiba, markaas node kasta wuxuu yeelan doonaa celcelis ahaan toban modules.

Sidan, haddii mid ka mid ah qanjidhada uu ku guuldareysto, waxaad luminaysaa kaliya 10% culeyska shaqada. Fursadaha ayaa ah in tiro yar oo nuqul ah ay saameyn doonto codsiga guudna uu sii shaqeyn doono.

Intaa waxaa dheer, qanjidhada soo haray waxay u badan tahay inay haystaan ​​ilo bilaash ah oo ku filan si ay u xakameeyaan culeyska shaqada ee noodhka guuldareystay, sidaas darteed Kubernetes waxay si xor ah u dib u dhigi kartaa jadwalka iyo codsiyadaadu waxay ku soo laaban doonaan xaalad shaqeynaya si degdeg ah.

Pro #2: Ku celcelin wanaagsan
Haddii ay jiraan nodes ku filan, jadwalka Kubernetes wuxuu ku meelayn karaa noodo kala duwan dhammaan nuqullada. Sidan, haddii qanjidhku guuldareysto, hal nuqul oo kaliya ayaa saameyn doona arjigana wuu sii jirayaa.

Minusa

Khasaaraha No. 1. Way adag tahay in la xakameeyo
Tiro badan oo qanjidhada ah ayaa aad u adag in la maareeyo. Tusaale ahaan, node kasta oo Kubernetes ah waa inuu la xiriiraa dhammaan kuwa kale, taas oo ah, tirada isku xirnaanta ayaa u koraysa afar-geesood, dhammaan xiriiradaasna waxay u baahan yihiin in la raad raaco.

Kantaroolaha noodhka ee Maamulaha Xakamaynta Kubernetes wuxuu si joogto ah u dhex maraa dhammaan qanjidhada kooxda si uu u hubiyo caafimaadka - qanjidhada badan, culayska badan ee kantaroolaha.

Culayska ku jira xogta iwmd sidoo kale wuu sii kordhayaa - kubelet kasta iyo kube-proxy wicis ilaaliye iwm.

Guud ahaan, noodh kasta oo shaqaale ah ayaa ku soo rogaya culays dheeraad ah qaybaha nidaamka ee qanjidhada sayidyada.

Kubernetes qanjidhada shaqaalaha: kuwo badan oo yaryar ama dhowr waaweyn?
Kubernetes waxay si rasmi ah u taageertaa kooxaha tirada nodes ilaa 5000. Si kastaba ha noqotee, ficil ahaan waxaa horeyba u jiray 500 qanjidhada waxay keeni kartaa dhibaatooyin aan sahlanayn.

Si aad u maamusho tiro badan oo qanjidhada shaqaalaha ah, waa inaad doorataa noodhadhka sare ee xoogga badan. Tusaale ahaan, kube-up si toos ah u rakibo cabbirka saxda ah ee VM ee noodhka sayidkiisa iyadoo ku xidhan tirada noodhka shaqaalaha. Taasi waa, qanjidhada shaqaalaha ee badan, ayaa ka sii wax soo saar badan qanjidhada sayidku waa inay noqdaan.

Si loo xalliyo dhibaatooyinkan gaarka ah waxaa jira horumarro gaar ah, sida Virtual Kubelet. Nidaamkani wuxuu kuu oggolaanayaa inaad ka gudubto xannibaadaha oo aad dhisto kooxo leh tiro aad u badan oo qanjidhada shaqaalaha ah.

Khasaaro #2: Kharashyo badan oo dheeraad ah.
Node kasta oo shaqaale ah, Kubernetes waxa uu wadaa nidaam daemons-ka ah - kuwaan waxaa ka mid ah wakhti-waqtiga konteenarka (sida Docker), kube-proxy iyo kubelet, oo uu ku jiro cAdvisor. Si wada jir ah ayay u cunaan xaddi go'an oo agab ah.

Haddii aad leedahay noodhyo yaryar oo badan, saamiga dusha sare ee nood kasta waa ka weyn yahay. Tusaale ahaan, qiyaas in dhammaan daemons-ka nidaamka ee hal noode ay wada isticmaalaan 0,1 CPU cores iyo 0,1 GB oo xusuusta ah. Haddii aad leedahay hal toban-core ah oo leh 10 GB oo xusuusta ah, daemons-ku waxay cunaan 1% awoodda kutlada. Dhanka kale, tobanka qanjidhada hal-core ee leh 1 GB ee xusuusta, daemons-yadu waxay qaadan doonaan 10% awoodda kutlada.

Markaa, qanjidhada yar yar, si hufan ayaa loo isticmaalaa kaabayaasha.

Khasaaraha No. 3. Isticmaalka kheyraadka oo aan waxtar lahayn
Dhinaca qanjidhada yaryar, waxay noqon kartaa in qaybaha kheyraadka ee soo haray ay aad u yar yihiin in lagu meeleeyo culeys kasta oo shaqo, si ay u ahaato mid aan la isticmaalin.

Tusaale ahaan, mid kastaa wuxuu u baahan yahay 0,75 GB oo xusuusta ah. Haddii aad leedahay toban nood oo mid walba uu leeyahay 1GB oo xusuusta ah, waxaad ku ordi kartaa toban pods, taasoo ka tagaysa nood kasta 0,25GB oo ah xusuusta aan la isticmaalin.

Tani waxay ka dhigan tahay in 25% dhammaan xusuusta kooxda ay luntay.

Dusha weyn ee leh 10 GB ee xusuusta, waxaad ku ordi kartaa 13 ka mid ah qaybahan - waxaana jiri doona hal jajab oo aan la isticmaalin oo ah 0,25 GB.

Xaaladdan oo kale, kaliya 2,5% xusuusta ayaa lumisa.

Sidaa darteed, kheyraadka waxaa si wanaagsan loogu isticmaalaa qanjidhada waaweyn.

Dhowr nood oo waaweyn mise kuwa yaryar oo badan?

Marka, keebaa ka wanaagsan: dhowr nood oo waaweyn oo ku jira koox ama kuwo yar yar? Sida had iyo jeer, ma jirto jawaab cad. Wax badan ayaa ku xiran nooca codsiga.

Tusaale ahaan, haddii codsigu u baahan yahay 10 GB oo xusuusta ah, qanjidhada waaweyn waa doorasho cad. Oo haddii codsigu u baahan yahay ku celcelin toban laab ah si loo helo helitaan sare, dhib badan ma leh khatarta ah in nuqul ka mid ah lagu dhejiyo laba nood oo keliya - waa in ugu yaraan toban nood ay ku jiraan kutlada.

Xaaladaha dhexe, samee doorasho ku saleysan faa'iidooyinka iyo khasaaraha ikhtiyaar kasta. Waxaa laga yaabaa in doodaha qaar ay aad uga khuseeyaan xaaladdaada marka loo eego kuwa kale.

Oo gabi ahaanba lagama maarmaan ma aha in dhammaan qanjidhada laga dhigo cabbir isku mid ah. Ma jiraan wax kaa diidaya inaad marka hore tijaabiso noodhadhka cabbirka isku midka ah, ka dibna ku darista noodhka cabbirka kala duwan, iyaga oo isku daraya koox. Noodhyada shaqaalaha ee kutlada Kubernetes waxay noqon karaan kuwo gebi ahaanba kala duwan. Markaa waxaad isku dayi kartaa inaad isku darsato faa'iidooyinka labada hab.

Ma jiro hal cunto oo keliya, xaalad kastana waxay leedahay nuances u gaar ah, oo kaliya wax soo saarka ayaa muujin doona runta.

Turjumaada ay diyaariyeen kooxda madal Cloud Mail.ru Cloud Solutions.

Wax badan oo ku saabsan Kubernetes: 25 Qalabka Faa'iidada leh ee Maareynta iyo Geyrinta Kutlada.

Source: www.habr.com

Add a comment