Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?

Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?
Xa udala i-cluster ye-Kubernetes, imibuzo inokuvela: zingaphi iindawo zabasebenzi zokuqwalasela kwaye luhlobo luni? Yintoni elunge ngakumbi kwiqela elikwindawo: thenga iiseva ezinamandla ezininzi okanye usebenzise oomatshini abalishumi elinesibini abadala kwiziko lakho ledatha? Ngaba kungcono ukuthatha isibhozo esinye-engundoqo okanye iimeko ezimbini ze-quad-core efini?

Iimpendulo zale mibuzo zikweli nqaku. UDaniel Weibel, injineli yesoftware kunye notitshala weprojekthi yezemfundo ye-Learnk8s ekuguqulelweni komyalelo Kubernetes aaS evela kwi-Mail.ru.

Umthamo weqela

Ngokubanzi, i-Kubernetes cluster inokucingelwa njenge "supernode" enkulu. Amandla ayo eecomputing ewonke sisixa samagunya azo zonke iinodi zawo.

Kukho iindlela ezininzi zokufikelela kwithagethi yakho yeqela elifunekayo. Ngokomzekelo, sifuna i-cluster enomthamo opheleleyo we-8 processor cores kunye ne-32 GB ye-RAM kuba isethi yezicelo idinga izixhobo ezininzi. Emva koko unokufaka ii-nodes ezimbini kunye ne-16 GB yememori okanye i-nodes ezine ezine-8 GB yememori, iiprosesa ezimbini ze-quad-core okanye ezine ezine-double-core.

Nazi iindlela nje ezimbini ezinokwenzeka zokwenza iqela:

Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?
Zombini iinketho zivelisa iqoqo elinomthamo ofanayo, kodwa ubumbeko olusezantsi luneenodi ezine ezincinci kwaye uqwalaselo oluphezulu luneenodi ezimbini ezinkulu.

Loluphi ukhetho olungcono?

Ukuphendula lo mbuzo, makhe sijonge iingenelo zazo zombini iinketho. Siye sawashwankathela etafileni.

Amaqela amakhulu amakhulu

Uninzi lweendawo ezincinci

Ulawulo lweqela olulula (ukuba luphezu kwendawo)

I-autoscaling egudileyo

Ngexabiso eliphantsi (ukuba ukwindawo)

Ixabiso lahlukile kancinci (kwilifu)

Inokuqhuba usetyenziso olumandla kwimithombo

Ukuphindaphinda ngokupheleleyo

Izixhobo zokusebenza zisetyenziswa ngokufanelekileyo (i-overhead encinci kwiidemom zesistim
Ukunyamezela impazamo yeqela eliphakamileyo

Nceda uqaphele ukuba sithetha kuphela ngeenodi zabasebenzi. Ukukhetha inani kunye nobukhulu beendawo eziphambili zentloko sisihloko esahluke ngokupheleleyo.

Ngoko ke, makhe sixoxe ngengongoma nganye ekwitheyibhile ngokweenkcukacha ezithe vetshe.

Inketho yokuqala: iindawo ezininzi ezinkulu

Olona khetho lugqithisileyo lunode omnye wabasebenzi kuwo wonke amandla eqela. Kulo mzekelo ungentla, oku kuya kuba yi-node eyodwa yomsebenzi kunye ne-16 CPU cores kunye ne-16 GB ye-RAM.

ΠŸΠ»ΡŽΡΡ‹

Plus No. 1. Ulawulo olulula
Kulula ukulawula oomatshini abambalwa kuneqela elipheleleyo. Kuyakhawuleza ukukhupha uhlaziyo kunye nolungiso, kwaye kulula ukungqamanisa. Inani lokusilela kumanani apheleleyo nalo lingaphantsi.

Nceda uqaphele ukuba konke oku kungasentla kusebenza kwihardware yakho, iiseva zakho, kwaye hayi kwiimeko zelifu.

Imeko yahlukile kwilifu. Apho, ulawulo luphathwa ngumboneleli wenkonzo yefu. Ke, ukulawula iindawo ezilishumi efini akwahlukanga kakhulu ekulawuleni indawo enye.

Indlela yetrafikhi kunye nokuhanjiswa komthwalo phakathi kweepod kwilifu yenziwe ngokuzenzekelayo: i-traffic evela kwi-Intanethi ithunyelwa kwi-balancer yomthwalo oyintloko, ohambisa phambili i-traffic kwi-port yesinye seendawo (inkonzo ye-NodePort ibeka i-port kwi-30000-32767 kwi-node ye-cluster nganye). Imithetho ebekwe yi kube-proxy iphinda iqondise itrafikhi ukusuka kwindawo ukuya kwipod. Nantsi indlela ekhangeleka ngayo kwiipod ezilishumi kwiindawo ezimbini:

Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?
Pro #2: Iindleko ezingaphantsi kwindawo nganye
Imoto enamandla ibiza kakhulu, kodwa ukunyuka kwexabiso akuthethi ukuba kumgca. Ngamanye amazwi, iseva enye ene-10 GB yememori ihlala inexabiso eliphantsi kuneshumi leeseva ezingundoqo ezinenani elifanayo lememori.

Kodwa qaphela ukuba lo mgaqo awuqhelekanga ukusebenza kwiinkonzo zefu. Kwizicwangciso zexabiso zangoku zabo bonke ababoneleli befu abakhulu, amaxabiso anyuka ngokuhambelana nomthamo.

Ke, kwilifu awuqhelekanga ukugcina kwiiseva ezinamandla ngakumbi.

I-Pro #3: Unokusebenzisa usetyenziso olunzulu lwemithombo
Ezinye izicelo zifuna abancedisi abanamandla kwiqela. Ngokomzekelo, ukuba inkqubo yokufunda umatshini idinga i-8 GB yememori, awuyi kukwazi ukuyiqhuba kwii-nodes ze-1 GB, kodwa ubuncinane ubuncinane i-node enkulu yabasebenzi.

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

I-Didvantage No. 1. Iipod ezininzi kwi-node nganye
Ukuba umsebenzi ofanayo wenziwa kwiinodes ezimbalwa, ngoko ke ngamnye kubo uya kuba neepods ezininzi ngokwendalo.

Oku kunokuba yingxaki.

Isizathu sesokuba imodyuli nganye yazisa umphezulu ongaphezulu kwixesha lesikhongozeli (umzekelo. Docker), kunye ne kubelet kunye cAdvisor.

Umzekelo, i-kubelet iphonononga rhoqo zonke izikhongozeli kwi-node yokusinda-okukhona izikhongozeli ezininzi, umsebenzi omninzi ekufuneka wenziwe yi-kubelet.

I-CAdvisor iqokelela iinkcukacha-manani zokusetyenziswa kwezixhobo kuzo zonke izikhongozeli kwi-node, kwaye i-kubelet ibuza rhoqo olu lwazi kwaye inikezela nge-API. Kwakhona, izikhongozeli ezininzi zithetha umsebenzi omninzi kuzo zombini i-cAdvisor kunye ne-kubelet.

Ukuba inani leemodyuli landa, linokucotha inkqubo kwaye lide lijonge ukuthembeka kwayo.

Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?
Kwi-Kubernetes repository ezinye wakhalazaezo nodi zitsibe phakathi kwe-Ready/NotReady statuses kuba ukujonga rhoqo kwe-kubelet kuzo zonke izikhongozeli kwindawo ethile kuthatha ixesha elide kakhulu.
Ngenxa yesi sizathu Kubernetes icebisa ukuba ungabekwa ngaphezulu kwe-110 pods kwindawo nganye. Ngokuxhomekeke kwintsebenzo ye-node, unokuqhuba iipods ezininzi kwi-node nganye, kodwa kunzima ukuqikelela ukuba kuya kubakho iingxaki okanye yonke into iya kusebenza kakuhle. Kufanelekile ukuvavanya umsebenzi kwangaphambili.

Ukusilela No. 2. Unyino ekuphindaphindeni
Iindawo ezimbalwa kakhulu zinciphisa ubungakanani obusebenzayo bokuphindaphinda kwesicelo. Umzekelo, ukuba unesicelo esifumanekayo esiphezulu esineekopi ezintlanu kodwa iindawo ezimbini kuphela, ngoko ke iqondo lesicelo elisebenzayo lokuphindaphinda liyancitshiswa libe zimbini.

Iikopi ezintlanu zinokusasazwa kuphela kwiindawo ezimbini, kwaye ukuba enye yazo iyasilela, iyakuthatha iikopi ezininzi ngaxeshanye.

Ukuba uneendawo ezintlanu okanye ngaphezulu, ikopi nganye iya kusebenza kwindawo eyahlukileyo, kwaye ukusilela kwenodi enye kuya kususa uninzi lwereplica enye.

Ngaloo ndlela, iimfuno eziphezulu zokufumaneka zinokufuna inani elithile elincinci lee-nodes kwiqela.

Ububi No. 3. Iziphumo ezimbi kakhulu zokungaphumeleli
Ngenani elincinci lee-nodes, ukungaphumeleli ngalunye kunemiphumo emibi kakhulu. Umzekelo, ukuba uneendawo ezimbini kuphela kwaye enye yazo iyasilela, isiqingatha seemodyuli zakho siyanyamalala kwangoko.

Ewe kunjalo, i-Kubernetes iya kufuduka umthwalo womsebenzi ukusuka kwindawo engaphumeleliyo ukuya kwabanye. Kodwa ukuba bambalwa kubo, ke akunakubakho umthamo waneleyo wasimahla. Ngenxa yoko, ezinye zezicelo zakho aziyi kufumaneka ude uzise indawo engaphumeleliyo.

Ngaloo ndlela, i-nodes eninzi, iyancipha impembelelo yokungaphumeleli kwe-hardware.

Ububi #4: Amanyathelo angaphezulu okulinganisa okuzenzekelayo
I-Kubernetes ine-cluster auto-scaling system ye-cloud infrastructure, ekuvumela ukuba ungeze ngokuzenzekelayo okanye ususe ii-nodes ngokuxhomekeke kwiimfuno zakho zangoku. Ngama-nodes amakhulu, i-autoscaling iba ngokukhawuleza kwaye i-clunky. Ngokomzekelo, kwii-nodes ezimbini, ukongeza i-node eyongezelelweyo iya kwandisa ngokukhawuleza umthamo we-cluster ngama-50%. Kwaye kuya kufuneka uzihlawulele ezo zibonelelo, nokuba awuzidingi.

Ke, ukuba uceba ukusebenzisa ukukala kweqela elizenzekelayo, okukhona kuncinci iinodi, kokukhona ubhetyebhetye kunye nexabiso elisebenzayo lokulinganisa uya kukufumana.

Ngoku makhe sijonge iingenelo kunye nokungonakali kwenani elikhulu lamanodi amancinci.

Inketho yesibini: iindawo ezininzi ezincinci

Iingenelo zale ndlela zisuka kwizinto ezingeloncedo zokhetho oluchaseneyo kunye neendawo ezininzi ezinkulu.

ΠŸΠ»ΡŽΡΡ‹

Ipro #1: Impembelelo encinci yokusilela
Okukhona amaqhuqhuva, iipods ezimbalwa kwindawo nganye. Umzekelo, ukuba uneemodyuli ezilikhulu kwiindawo ezilishumi, ngoko indawo nganye iya kuba nomndilili weemodyuli ezilishumi.

Ngale ndlela, ukuba enye yeenodi iyasilela, ulahlekelwa kuphela ngu-10% womthwalo womsebenzi. Amathuba kukuba kuphela inani elincinci leekopi eziya kuchaphazeleka kwaye isicelo sonke siya kuhlala sisebenza.

Ukongeza, iindawo ezishiyekileyo ziya kuba nezixhobo ezaneleyo zasimahla zokuphatha umthwalo womsebenzi we-node engaphumeleliyo, ke i-Kubernetes inokuphinda ihlele ngokukhululekileyo ii-pods kwaye izicelo zakho ziya kubuyela kwimeko yokusebenza ngokukhawuleza.

Ipro #2: Ukuphindaphinda okulungileyo
Ukuba kukho iindawo ezaneleyo, umcwangcisi we-Kubernetes unokwabela iindawo ezahlukeneyo kuzo zonke ii-replicas. Ngale ndlela, ukuba i-node iyasilela, i-replica enye kuphela iya kuchaphazeleka kwaye isicelo siya kuhlala sikhona.

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

Ububi No. 1. Kunzima ukulawula
Amanani amakhulu eendawo zokuhlala kunzima kakhulu ukulawula. Ngokomzekelo, i-node nganye ye-Kubernetes kufuneka inxibelelane nabo bonke abanye, oko kukuthi, inani lokudibanisa likhula ngokwe-quadratically, kwaye zonke ezi nxibelelwano kufuneka zilandelwe.

Umlawuli we-node kwi-Kubernetes Controller Manager uhamba rhoqo kuzo zonke iindawo kwi-cluster ukujonga impilo - i-nodes eninzi, umthwalo ongaphezulu kumlawuli.

Umthwalo okwisiseko sedatha ye- etcd nawo uyakhula-i-kubelet nganye kunye ne-kube-proxy iminxeba umlindi ye etcd (nge API), apho etcd kufuneka isasaze uhlaziyo lwento.

Ngokubanzi, i-node nganye yabasebenzi ibeka umthwalo owongezelelweyo kumacandelo enkqubo ye-master nodes.

Iinodi zabasebenzi baseKubernetes: zininzi ezincinci okanye ezininzi ezinkulu?
I-Kubernetes ixhasa ngokusemthethweni amaqela nge inani leendawo ukuya kuthi ga kwi-5000. Nangona kunjalo, ekusebenzeni sele kukho iindawo ezingama-500 inokubangela iingxaki ezingeyomfuneko.

Ukulawula inani elikhulu leendawo zabasebenzi, kufuneka ukhethe ii-master nodes ezinamandla ngakumbi. Umzekelo, kube-up ifakela ngokuzenzekelayo ubungakanani obuchanekileyo be-VM ye-master node ngokuxhomekeke kwinani leendawo zabasebenzi. Oko kukuthi, i-nodes yabasebenzi eninzi, kufuneka ivelise ngakumbi i-master nodes.

Ukusombulula ezi ngxaki ezithile kukho uphuhliso olulodwa, ezifana Kubeled Virtual. Le nkqubo ikuvumela ukuba udlule kwizithintelo kwaye wakhe amaqoqo ngenani elikhulu leendawo zabasebenzi.

Ububi #2: Iindleko ezingaphezulu.
Kwindawo nganye yabasebenzi, iKubernetes iqhuba iseti yeedaemon zenkqubo - ezi ziquka ixesha lokuqhuba isikhongozeli (njengeDocker), kube-proxy kunye ne-kubelet, kubandakanya cAdvisor. Bebonke batya isixa esimiselweyo sezibonelelo.

Ukuba unamaqhuqhuva amancinci amaninzi, umyinge wale ntloko uphezulu kwindawo nganye mkhulu. Umzekelo, khawufane ucinge ukuba zonke iidaemon zenkqubo kwindawo enye kunye zisebenzisa i-0,1 CPU cores kunye ne-0,1 GB yememori. Ukuba une-node enye ye-core ne-10 GB yememori, ii-daemons zidla i-1% yomthamo weqela. Ngakolunye uhlangothi, kwii-nodes ezilishumi ze-single-core kunye ne-1 GB yememori, ii-daemon ziya kuthatha i-10% ye-cluster capacity.

Ngaloo ndlela, ii-nodes ezimbalwa, ngokufanelekileyo iziseko zophuhliso zisetyenziswa.

Ukusilela No. 3. Ukusetyenziswa ngokufanelekileyo kwezibonelelo
Kwiindawo ezincinci, kusenokwenzeka ukuba iziqwenga ezishiyekileyo zemithombo zincinci kakhulu ukuba zingabela nawuphi na umthwalo, ke zihlala zingasetyenziswa.

Ngokomzekelo, i-pod nganye idinga i-0,75 GB yememori. Ukuba uneendawo ezilishumi, nganye ine-1GB yememori, unokugijima iipod ezilishumi, ushiye i-node nganye kunye ne-0,25GB yememori engasetyenziswanga.

Oku kuthetha ukuba i-25% yememori yeqela lonke ichithwe.

Kwi-node enkulu kunye ne-10 GB yememori, unokuqhuba i-13 yale modyuli - kwaye kuya kuba neqhekeza elinye elingasetyenziswanga le-0,25 GB.

Kule meko, kuphela i-2,5% yememori ichithwa.

Ngaloo ndlela, izixhobo zisetyenziswa ngokufanelekileyo ngakumbi kwiindawo ezinkulu.

Iinodi ezininzi ezinkulu okanye ezininzi ezincinci?

Ngoko ke, yintoni engcono: iindawo ezimbalwa ezinkulu kwiqela okanye ezininzi ezincinci? Njengesiqhelo, akukho mpendulo icacileyo. Okuninzi kuxhomekeke kuhlobo lwesicelo.

Umzekelo, ukuba isicelo sidinga i-10 GB yememori, iindawo ezinkulu zilukhetho olucacileyo. Kwaye ukuba isicelo sifuna ukuphinda-phinda kalishumi kubukho obuphezulu, ayifanelanga umngcipheko wokubeka iireplicas kwiindawo ezimbini kuphela - kufuneka kubekho ubuncinci beendawo ezilishumi kwiqela.

Kwiimeko eziphakathi, yenza ukhetho olusekelwe kwizinto eziluncedo kunye nezingeloncedo zokhetho ngalunye. Mhlawumbi ezinye iingxabano zibaluleke ngakumbi kwimeko yakho kunezinye.

Kwaye akuyimfuneko kwaphela ukwenza zonke iinqununu zibe nobukhulu obufanayo. Akukho nto ikuthintela ekuzameni kuqala ngeenodi zobukhulu obufanayo, emva koko wongeze iinodi zobukhulu obahlukileyo kubo, uzidibanise kwiqela. Iinodi zabasebenzi kwiqela le-Kubernetes zinokuhluka ngokupheleleyo. Ngoko unokuzama ukudibanisa iingenelo zeendlela zombini.

Akukho iresiphi enye, kwaye imeko nganye inama-nuances ayo, kwaye imveliso kuphela iya kubonisa inyaniso.

Inguqulelo elungiselelwe liqela leqonga lelifu Mail.ru Cloud Solutions.

Okungakumbi malunga neKubernetes: Izixhobo ezingama-25 eziluncedo zoLawulo kunye nokusasaza amaQela.

umthombo: www.habr.com

Yongeza izimvo