Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?

Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?
Mukapanga gulu la Kubernetes, mafunso angabuke: ndi ma node angati ogwira ntchito omwe angasinthidwe ndi mtundu wanji? Ndi chiyani chomwe chili chabwino pamagulu omwe ali pamalopo: gulani ma seva amphamvu angapo kapena gwiritsani ntchito makina akale khumi ndi awiri pamalo anu opangira deta? Kodi ndikwabwino kutenga maulendo asanu ndi atatu a single-core kapena awiri quad-core pamtambo?

Mayankho a mafunso amenewa ali m’nkhani ino. Daniel Weibel, wopanga mapulogalamu komanso mphunzitsi wa pulojekiti yophunzitsa ya Learnk8s m’kumasulira kwa lamulo Kubernetes aaS kuchokera ku Mail.ru.

Kuchuluka kwamagulu

Nthawi zambiri, gulu la Kubernetes limatha kuganiziridwa ngati "supernode" yayikulu. Mphamvu yake yonse yamakompyuta ndi kuchuluka kwa mphamvu zamagulu ake onse.

Pali njira zingapo zokwaniritsira cholinga chomwe mukufuna kuti gulu lanu lizitha. Mwachitsanzo, timafunikira gulu lokhala ndi mphamvu zonse za 8 processor cores ndi 32 GB ya RAM chifukwa seti yamapulogalamu imafuna zinthu zambiri. Kenako mutha kukhazikitsa ma node awiri okhala ndi 16 GB ya kukumbukira kapena ma node anayi okhala ndi 8 GB ya kukumbukira, ma quad-core processors awiri kapena anayi apawiri-core.

Nazi njira ziwiri zokha zopangira gulu:

Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?
Zosankha zonsezi zimapanga gulu lokhala ndi mphamvu zofanana, koma kasinthidwe kapansi kamakhala ndi mfundo zinayi zazing'ono ndipo kasinthidwe kapamwamba kali ndi zigawo ziwiri zazikulu.

Ndi njira iti yomwe ili yabwinoko?

Kuti tiyankhe funsoli, tiyeni tione ubwino wa zonse ziwiri. Tawafotokozera mwachidule mu tebulo.

Manode angapo akuluakulu

Zambiri zazing'ono

Kuwongolera magulu osavuta (ngati kuli pamalopo)

Autoscaling yosalala

Zotsika mtengo (ngati zili pamalopo)

Mtengo ndi wosiyana pang'ono (mumtambo)

Itha kuyendetsa ntchito zogwiritsa ntchito kwambiri

Kubwereza kwathunthu

Zida zimagwiritsidwa ntchito bwino (zocheperako pama daemoni adongosolo
Kulekerera zolakwika zamagulu apamwamba

Chonde dziwani kuti tikungolankhula za ma node ogwira ntchito. Kusankha chiwerengero ndi kukula kwa mfundo zazikulu ndi mutu wosiyana kwambiri.

Choncho, tiyeni tikambirane mfundo iliyonse patebulo mwatsatanetsatane.

Njira yoyamba: mfundo zingapo zazikulu

Njira yowopsa kwambiri ndi node imodzi yamagulu onse ogwira ntchito. Muchitsanzo pamwambapa, iyi ingakhale node imodzi yokhala ndi 16 CPU cores ndi 16 GB ya RAM.

ΠŸΠ»ΡŽΡΡ‹

Kuphatikiza No. 1. Kasamalidwe kosavuta
Ndikosavuta kuwongolera makina angapo kuposa gulu lonse. Ndikofulumira kutulutsa zosintha ndi kukonza, ndipo ndikosavuta kulunzanitsa. Chiwerengero cha zolephera mu manambala mtheradi ndi chochepa.

Chonde dziwani kuti zonse zomwe zili pamwambazi zikugwira ntchito pazida zanu, maseva anu, osati pamtambo.

Mkhalidwe ndi wosiyana mumtambo. Kumeneko, kasamalidwe kameneka kamayang'aniridwa ndi wothandizira mtambo. Choncho, kuyang'anira mfundo khumi mumtambo sikusiyana kwambiri ndi kuyang'anira mfundo imodzi.

Mayendedwe a magalimoto ndi kugawa katundu pakati pa ma pod mumtambo anachita zokha: magalimoto obwera kuchokera pa intaneti amatumizidwa ku chojambulira chachikulu chonyamula katundu, chomwe chimatumiza magalimoto kupita ku doko la node imodzi (utumiki wa NodePort umayika doko mumitundu 30000-32767 pagulu lililonse lamagulu). Malamulo okhazikitsidwa ndi kube-proxy amawongolera magalimoto kuchokera pa node kupita ku pod. Izi ndi zomwe zimawoneka ngati ma pod khumi pamanode awiri:

Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?
Pro #2: Mtengo wochepera pa node
Galimoto yamphamvu ndi yokwera mtengo kwambiri, koma kuwonjezeka kwa mtengo sikuli kofanana. Mwa kuyankhula kwina, seva imodzi ya khumi-core ndi 10 GB ya kukumbukira nthawi zambiri imakhala yotsika mtengo kuposa ma seva khumi apakati omwe ali ndi kukumbukira kofanana.

Koma dziwani kuti lamuloli siligwira ntchito nthawi zambiri muutumiki wamtambo. M'machitidwe amitengo apano a onse opereka mitambo yayikulu, mitengo imakwera molingana ndi kuchuluka.

Chifukwa chake, mumtambo nthawi zambiri simungasunge pa maseva amphamvu kwambiri.

Pro #3: Mutha kuyendetsa ntchito zogwiritsa ntchito kwambiri
Ntchito zina zimafuna ma seva amphamvu mumagulu. Mwachitsanzo, ngati makina ophunzirira makina amafunikira 8 GB ya kukumbukira, simungathe kuyendetsa pa 1 GB node, koma ndi osachepera amodzi akuluakulu ogwira ntchito.

ΠœΠΈΠ½ΡƒΡΡ‹

Kuipa No. 1. Ma pods ambiri pa node
Ngati ntchito yomweyi ikuchitika pamanode ochepa, ndiye kuti aliyense wa iwo mwachibadwa amakhala ndi makoko ambiri.

Izi zikhoza kukhala vuto.

Chifukwa chake ndikuti gawo lililonse limayambitsa kupitilira kwa chidebecho (mwachitsanzo, Docker), komanso kubelet ndi cAdvisor.

Mwachitsanzo, kubelet nthawi zonse amafufuza zotengera zonse pa node kuti apulumuke - zotengera zambiri, m'pamenenso kubelet iyenera kuchita.

CAdvisor imasonkhanitsa ziwerengero zogwiritsira ntchito zotengera zonse pa node, ndipo kubelet amafunsa pafupipafupi izi ndikuzipereka kudzera pa API. Apanso, zotengera zambiri zimatanthawuza ntchito zambiri za cAdvisor ndi kubelet.

Ngati chiwerengero cha ma modules chikuwonjezeka, chikhoza kuchepetsa dongosolo komanso kusokoneza kudalirika kwake.

Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?
M'malo osungira a Kubernetes ena anadandaulakuti ma node amalumphira pakati pa ziwerengero za Ready/NotReady chifukwa kuwunika pafupipafupi kwa kubelet pazotengera zonse pa node kumatenga nthawi yayitali.
Pachifukwa ichi Kubernetes amalimbikitsa kuti asapitirire ma pod 110 pa mfundo iliyonse. Kutengera magwiridwe antchito a node, mutha kuyendetsa ma pods ambiri pa node, koma ndizovuta kudziwa ngati padzakhala zovuta kapena zonse ziyenda bwino. Ndikoyenera kuyesa ntchitoyo pasadakhale.

Kuipa No. 2. Kuchepetsa kubwerezabwereza
Manode ochepa kwambiri amachepetsa kuchuluka kwa ntchito yobwerezabwereza. Mwachitsanzo, ngati muli ndi pulogalamu yopezeka kwambiri yokhala ndi zofananira zisanu koma ma node awiri okha, ndiye kuti kubwereza kothandiza kumachepetsedwa kukhala awiri.

Zofananira zisanu zitha kugawidwa m'malo awiri okha, ndipo imodzi ikalephera, imachotsa zofananira zingapo nthawi imodzi.

Ngati muli ndi mfundo zisanu kapena kuposerapo, chofananira chilichonse chidzayenda pamfundo ina, ndipo kulephera kwa mfundo imodzi kumachotsa pafupifupi chofanana chimodzi.

Chifukwa chake, zofunikira zopezeka kwambiri zingafunike nambala yocheperako yamagulu mumagulu.

Kuipa No. 3. Zotsatira zoyipa kwambiri za kulephera
Ndi chiwerengero chochepa cha node, kulephera kulikonse kumakhala ndi zotsatira zoopsa kwambiri. Mwachitsanzo, ngati muli ndi mfundo ziwiri zokha ndipo imodzi mwa izo ikulephera, theka la ma modules anu amatha nthawi yomweyo.

Zachidziwikire, Kubernetes asuntha ntchito kuchokera kumalo olephera kupita kwa ena. Koma ngati alipo ochepa, ndiye kuti sipangakhale mphamvu zokwanira zaulere. Zotsatira zake, mapulogalamu anu ena sadzakhalapo mpaka mutabweretsa node yolephera.

Chifukwa chake, ma node ochulukirapo, kuchepa kwa kulephera kwa hardware.

Zoyipa #4: Masitepe owonjezera a autoscaling
Kubernetes ali ndi cluster auto-scaling system for cloud infrastructure, yomwe imakupatsani mwayi wowonjezera kapena kuchotsa node malinga ndi zosowa zanu zamakono. Ndi ma node akuluakulu, autoscaling imakhala yodzidzimutsa komanso yosamveka. Mwachitsanzo, pa mfundo ziwiri, kuwonjezera node yowonjezera nthawi yomweyo kumawonjezera mphamvu yamagulu ndi 50%. Ndipo muyenera kulipira ndalamazo, ngakhale simukuzifuna.

Chifukwa chake, ngati mukufuna kugwiritsa ntchito makulitsidwe am'magulu basi, ma node ang'onoang'ono, ndiye kuti mupeza makulitsidwe osinthika komanso otsika mtengo.

Tsopano tiyeni tione ubwino ndi kuipa kwa chiwerengero chachikulu cha mfundo zazing'ono.

Njira yachiwiri: mfundo zazing'ono zambiri

Ubwino wa njirayi kwenikweni umachokera ku kuipa kwa njira yosiyana ndi mfundo zingapo zazikulu.

ΠŸΠ»ΡŽΡΡ‹

Pro #1: Kuchepa kwa kulephera
Manode ambiri, makoko ochepa pa mfundo iliyonse. Mwachitsanzo, ngati muli ndi ma module zana pa mfundo khumi, ndiye kuti mfundo iliyonse imakhala ndi ma module khumi.

Mwanjira iyi, ngati imodzi mwa node ikulephera, mumangotaya 10% ya ntchito. Mwayi ndi woti chiwerengero chochepa chabe cha zofananira chidzakhudzidwa ndipo ntchito yonseyo idzapitirizabe kugwira ntchito.

Kuphatikiza apo, ma node otsalawo atha kukhala ndi zida zaulere zokwanira kuti athe kuthana ndi kuchuluka kwa ntchito zomwe zidalephera, chifukwa chake Kubernetes amatha kukonzanso ma pod momasuka ndipo mapulogalamu anu abwerera kuntchito mwachangu.

Pro #2: Kubwereza kwabwino
Ngati pali ma node okwanira, wokonza Kubernetes atha kugawira ma node osiyanasiyana ku zofananira zonse. Mwanjira iyi, ngati node ikulephera, chofanana chimodzi chokha chidzakhudzidwa ndipo ntchitoyo idzakhalapo.

ΠœΠΈΠ½ΡƒΡΡ‹

Kuipa No. 1. Zovuta kuzilamulira
Ziwerengero zazikulu za node zimakhala zovuta kuziwongolera. Mwachitsanzo, node iliyonse ya Kubernetes iyenera kuyankhulana ndi ena onse, ndiko kuti, chiwerengero cha maulumikizidwe chimakula quadratically, ndipo malumikizidwe onsewa ayenera kutsatiridwa.

Woyang'anira node mu Kubernetes Controller Manager amayenda pafupipafupi m'magulu onse omwe ali mgululi kuti awone thanzi - ma node ochulukirapo, kuchuluka kwa owongolera.

Katundu pa nkhokwe ya etcd ikukulanso - foni iliyonse ya kubelet ndi kube-proxy wopenya kwa etcd (kudzera pa API), komwe etcd iyenera kuwulutsira zosintha za chinthu.

Kawirikawiri, node iliyonse ya ogwira ntchito imakhala ndi katundu wowonjezera pazigawo zamagulu a master node.

Ma Node antchito a Kubernetes: ang'onoang'ono ambiri kapena angapo akulu?
Kubernetes imathandizira masango ndi chiwerengero cha nodes mpaka 5000. Komabe, muzochita pali kale mfundo 500 zingayambitse mavuto ang'onoang'ono.

Kuti muzitha kuyang'anira ma node ambiri ogwira ntchito, muyenera kusankha ma master node amphamvu kwambiri. Mwachitsanzo, kukhala-up imayika zokha kukula koyenera kwa VM kwa node ya master kutengera kuchuluka kwa node za antchito. Ndiko kuti, ma node ambiri ogwira ntchito, m'pamenenso ma node apamwamba ayenera kukhala opindulitsa.

Kuthetsa mavuto enieniwa pali zochitika zapadera, monga Kubelet Virtual. Dongosololi limakupatsani mwayi wodutsa zoletsa ndikumanga magulu okhala ndi ma node ambiri ogwira ntchito.

Kuipa #2: Ndalama zochulukirapo.
Pamalo aliwonse ogwira ntchito, Kubernetes amayendetsa ma daemoni adongosolo - awa akuphatikiza nthawi yoyendetsera chidebe (monga Docker), kube-proxy ndi kubelet, kuphatikiza cAdvisor. Onse pamodzi amawononga ndalama zokhazikika.

Ngati muli ndi tinthu tating'ono ting'onoting'ono, gawo la pamwamba pa node iliyonse ndilokulirapo. Mwachitsanzo, taganizirani kuti ma daemoni onse pa node imodzi pamodzi amagwiritsa ntchito 0,1 CPU cores ndi 0,1 GB ya kukumbukira. Ngati muli ndi node imodzi yokhala ndi 10 GB ya kukumbukira, ndiye kuti ma daemoni amadya 1% ya masango. Kumbali inayi, pama node khumi apakati amodzi okhala ndi 1 GB ya kukumbukira, ma daemoni atenga 10% ya mphamvu yamagulu.

Choncho, ma node ochepa, ndizomwe zimagwiritsidwa ntchito bwino.

Kuipa No. 3. Kusagwiritsa ntchito bwino zinthu
Pazigawo zing'onozing'ono, zitha kukhala kuti zida zotsalazo ndizochepa kwambiri kuti zisagwire ntchito iliyonse, motero zimakhala zosagwiritsidwa ntchito.

Mwachitsanzo, pod iliyonse imafuna 0,75 GB ya kukumbukira. Ngati muli ndi mfundo khumi, iliyonse ili ndi 1GB ya kukumbukira, mukhoza kuthamanga ma pod khumi, kusiya node iliyonse ndi 0,25GB ya kukumbukira kosagwiritsidwa ntchito.

Izi zikutanthauza kuti 25% ya kukumbukira kwa gulu lonse lawonongeka.

Pa mfundo yaikulu yokhala ndi 10 GB ya kukumbukira, mukhoza kuyendetsa 13 mwa ma modules - ndipo padzakhala chidutswa chimodzi chokha chosagwiritsidwa ntchito cha 0,25 GB.

Pankhaniyi, 2,5% yokha ya kukumbukira ndiyowonongeka.

Choncho, zipangizo zimagwiritsidwa ntchito bwino kwambiri pamagulu akuluakulu.

Manode angapo akuluakulu kapena ang'onoang'ono ambiri?

Kotero, chabwino ndi chiani: mfundo zazikulu zochepa mumagulu kapena zing'onozing'ono zambiri? Monga nthawi zonse, palibe yankho lomveka bwino. Zambiri zimadalira mtundu wa ntchito.

Mwachitsanzo, ngati ntchito ikufunika 10 GB ya kukumbukira, ma node akuluakulu ndi chisankho chodziwikiratu. Ndipo ngati kugwiritsa ntchito kumafuna kubwerezabwereza kakhumi kuti pakhale kupezeka kwakukulu, sikuyenera kukhala pachiwopsezo choyika zofananira pamanode awiri okha - payenera kukhala mfundo zosachepera khumi pagululo.

Muzochitika zapakati, pangani chisankho potengera ubwino ndi kuipa kwa njira iliyonse. Mwina mikangano ina imakhala yogwirizana ndi mkhalidwe wanu kuposa ina.

Ndipo sikofunikira konse kupanga mfundo zonse zofanana. Palibe chomwe chimakulepheretsani kuyesa koyamba ndi mfundo za kukula kofanana, ndikuwonjezera ma node a kukula kosiyana kwa iwo, kuwaphatikiza mumagulu. Ma node ogwira ntchito mgulu la Kubernetes amatha kukhala osiyana kwambiri. Kotero mukhoza kuyesa kuphatikiza ubwino wa njira zonse ziwiri.

Palibe Chinsinsi chimodzi, ndipo chilichonse chili ndi ma nuances ake, ndipo kupanga kokha kudzawonetsa chowonadi.

Kumasulira kokonzedwa ndi gulu la nsanja yamtambo Mail.ru Cloud Solutions.

Zambiri za Kubernetes: Zida 25 Zothandizira Kuwongolera ndi Kutumiza Magulu.

Source: www.habr.com

Kuwonjezera ndemanga