Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?

Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?
Meta toħloq cluster Kubernetes, jistgħu jinqalgħu mistoqsijiet: kemm-il nodi tal-ħaddiema għandhom jiġu kkonfigurati u liema tip? X'inhu aħjar għal cluster fuq il-post: tixtri diversi servers b'saħħithom jew uża tużżana magni qodma fiċ-ċentru tad-dejta tiegħek? Huwa aħjar li tieħu tmien istanzi single-core jew żewġ quad-core fil-cloud?

It-tweġibiet għal dawn il-mistoqsijiet jinsabu fl-artiklu. Daniel Weibel, inġinier tas-softwer u għalliem tal-proġett edukattiv Learnk8s fit-traduzzjoni tal-kmand Kubernetes aaS minn Mail.ru.

Kapaċità tal-cluster

B'mod ġenerali, cluster Kubernetes jista 'jitqies bħala "supernode" kbir. Il-qawwa totali tal-kompjuter tagħha hija s-somma tas-setgħat tan-nodi kostitwenti kollha tagħha.

Hemm diversi modi kif tikseb il-mira tal-kapaċità tal-cluster mixtieq tiegħek. Pereżempju, għandna bżonn cluster b'kapaċità totali ta '8 cores tal-proċessur u 32 GB ta' RAM minħabba li sett ta 'applikazzjonijiet jeħtieġ tant riżorsi. Imbagħad tista 'tinstalla żewġ nodi b'16 GB ta' memorja jew erba' nodi bi 8 GB ta 'memorja, żewġ proċessuri quad-core jew erba' dawk dual-core.

Hawn huma biss żewġ modi possibbli biex toħloq cluster:

Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?
Iż-żewġ għażliet jipproduċu raggruppament bl-istess kapaċità, iżda l-konfigurazzjoni ta 'isfel għandha erba' nodi iżgħar u l-konfigurazzjoni ta 'fuq għandha żewġ nodi akbar.

Liema għażla hija aħjar?

Biex twieġeb din il-mistoqsija, ejja nħarsu lejn il-vantaġġi taż-żewġ għażliet. Aħna ġabarhom fil-qosor f'tabella.

Diversi nodi kbar

Ħafna nodi żgħar

Ġestjoni tal-clusters aktar faċli (jekk ikun fuq il-post)

Autoscaling bla xkiel

Orħos (jekk fuq il-post)

Il-prezz huwa ftit differenti (fil-sħaba)

Jista 'jmexxi applikazzjonijiet li jużaw ħafna riżorsi

Replikazzjoni sħiħa

Ir-riżorsi jintużaw b'mod aktar effiċjenti (inqas overhead fuq id-daemons tas-sistema
Tolleranza ogħla ta 'ħsarat ta' cluster

Jekk jogħġbok innota li qed nitkellmu biss dwar nodi tal-ħaddiema. L-għażla tan-numru u d-daqs tan-nodi prinċipali hija suġġett kompletament differenti.

Allura, ejja niddiskutu kull punt mit-tabella f'aktar dettall.

L-ewwel għażla: diversi nodi kbar

L-iktar għażla estrema hija nodu wieħed tal-ħaddiema għall-kapaċità sħiħa tal-cluster. Fl-eżempju ta 'hawn fuq, dan ikun node ta' ħaddiem wieħed b'16 CPU core u 16 GB RAM.

Pros

Plus Nru 1. Ġestjoni aktar faċli
Huwa aktar faċli li timmaniġġja ftit magni milli flotta sħiħa. Huwa aktar mgħaġġla li jinxtegħlu aġġornamenti u soluzzjonijiet, u huwa aktar faċli li tissinkronizza. In-numru ta 'fallimenti f'numri assoluti huwa wkoll inqas.

Jekk jogħġbok innota li dak kollu t'hawn fuq japplika għall-ħardwer tiegħek, is-servers tiegħek, u mhux għall-istanzi tal-cloud.

Is-sitwazzjoni hija differenti fis-sħaba. Hemmhekk, il-ġestjoni hija mmaniġġjata mill-fornitur tas-servizz tal-cloud. Għalhekk, il-ġestjoni ta 'għaxar nodi fis-sħaba mhix wisq differenti mill-ġestjoni ta' nodu wieħed.

Rotot tat-traffiku u distribuzzjoni tat-tagħbija bejn il-miżwed fis-sħab mwettqa awtomatikament: it-traffiku li ġej mill-Internet jintbagħat lill-balancer tat-tagħbija prinċipali, li jgħaddi t-traffiku lejn il-port ta 'wieħed min-nodi (is-servizz NodePort jistabbilixxi l-port fil-medda 30000-32767 f'kull node ta' cluster). Ir-regoli stabbiliti minn kube-proxy jidderieġu mill-ġdid it-traffiku min-nodu għall-pod. Hawn kif jidher għal għaxar imżiewed fuq żewġ nodi:

Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?
Pro #2: Inqas spiża għal kull node
Karozza qawwija tiswa aktar, iżda ż-żieda fil-prezz mhix neċessarjament lineari. Fi kliem ieħor, server wieħed b'għaxar qalba b'10 GB ta 'memorja huwa ġeneralment irħas minn għaxar servers b'qalba waħda bl-istess ammont ta' memorja.

Imma innota li din ir-regola normalment ma taħdimx fis-servizzi tal-cloud. Fl-iskemi attwali tal-prezzijiet tal-fornituri ewlenin kollha tal-cloud, il-prezzijiet jiżdiedu b'mod lineari mal-kapaċità.

Għalhekk, fis-sħab normalment ma tistax tiffranka fuq servers aktar qawwija.

Pro #3: Tista' tmexxi applikazzjonijiet li jużaw ħafna riżorsi
Xi applikazzjonijiet jeħtieġu servers b'saħħithom fi cluster. Pereżempju, jekk sistema ta 'tagħlim tal-magni teħtieġ 8 GB ta' memorja, ma tkunx tista 'tħaddem fuq nodi ta' 1 GB, iżda biss b'mill-inqas nodu wieħed kbir ta 'ħaddiem.

Cons

Żvantaġġ Nru 1. Ħafna miżwed għal kull node
Jekk l-istess kompitu jitwettaq fuq inqas nodi, allura kull wieħed minnhom naturalment ikollu aktar imżiewed.

Din tista' tkun problema.

Ir-raġuni hija li kull modulu jintroduċi xi overhead għar-runtime tal-kontenitur (eż. Docker), kif ukoll il-kubelet u cAdvisor.

Pereżempju, kubelet jistħarreġ regolarment il-kontenituri kollha fuq node għas-sopravivenza—aktar kontenituri, aktar xogħol irid jagħmel il-kubelet.

CAdvisor jiġbor statistika dwar l-użu tar-riżorsi għall-kontenituri kollha fuq node, u kubelet regolarment jistaqsi din l-informazzjoni u jipprovdiha permezz ta’ API. Għal darb'oħra, aktar kontenituri jfisser aktar xogħol kemm għall-cAdvisor kif ukoll għall-kubelet.

Jekk in-numru ta 'moduli jiżdied, jista' jrażżan is-sistema u anke jimmina l-affidabbiltà tagħha.

Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?
Fir-repożitorju Kubernetes xi wħud ilmentali n-nodi jaqbżu bejn l-istatus ta' Ready/NotReady minħabba li l-kontrolli regolari tal-kubelet tal-kontenituri kollha fuq node jieħdu wisq żmien.
Għal din ir-raġuni Kubernetes jirrakkomanda li tpoġġi mhux aktar minn 110 imżiewed għal kull nodu. Skont il-prestazzjoni tan-node, tista 'taħdem aktar imżiewed għal kull node, iżda huwa diffiċli li wieħed ibassar jekk hux se jkun hemm problemi jew kollox jaħdem tajjeb. Ta 'min jittestja x-xogħol bil-quddiem.

Żvantaġġ Nru 2. Limitazzjoni fuq ir-replikazzjoni
Ftit wisq nodi jillimitaw il-firxa effettiva tar-replikazzjoni tal-applikazzjoni. Pereżempju, jekk għandek applikazzjoni ta' disponibbiltà għolja b'ħames repliki iżda żewġ nodi biss, allura l-grad effettiv ta' replikazzjoni tal-applikazzjoni jitnaqqas għal tnejn.

Ħames repliki jistgħu jitqassmu biss fuq żewġ nodi, u jekk waħda minnhom tfalli, se tneħħi repliki multipli f'daqqa.

Jekk għandek ħames nodi jew aktar, kull replika se taħdem fuq nodu separat, u l-falliment ta 'nodu wieħed se tneħħi l-aktar replika waħda.

Għalhekk, rekwiżiti ta 'disponibbiltà għolja jistgħu jeħtieġu ċertu numru minimu ta' nodi fil-cluster.

Żvantaġġ Nru 3. Konsegwenzi agħar ta 'falliment
B'numru żgħir ta 'nodi, kull falliment għandu konsegwenzi aktar serji. Per eżempju, jekk għandek biss żewġ nodi u wieħed minnhom ifalli, nofs il-moduli tiegħek jisparixxu immedjatament.

Naturalment, Kubernetes se jemigra l-ammont ta 'xogħol min-nodu fallut għal oħrajn. Imma jekk hemm ftit minnhom, allura jista 'ma jkunx hemm biżżejjed kapaċità ħielsa. Bħala riżultat, xi wħud mill-applikazzjonijiet tiegħek ma jkunux disponibbli sakemm tqajjem in-nodu fallut.

Għalhekk, iktar ma jkun hemm nodi, inqas ikun l-impatt tal-ħsarat fil-ħardwer.

Żvantaġġ #4: Aktar passi ta' autoscaling
Kubernetes għandu sistema ta 'skala awtomatika tal-clusters għall-infrastruttura tal-cloud, li tippermettilek li żżid jew tneħħi awtomatikament nodi skont il-bżonnijiet attwali tiegħek. B'nodi akbar, l-autoscaling isir aktar f'daqqa u goff. Pereżempju, fuq żewġ nodi, iż-żieda ta 'nodu addizzjonali se żżid immedjatament il-kapaċità tal-cluster b'50%. U jkollok tħallas għal dawk ir-riżorsi, anke jekk m'għandekx bżonnhom.

Għalhekk, jekk qed tippjana li tuża l-iskala tar-raggruppamenti awtomatika, iktar ma jkunu żgħar in-nodi, iktar se tikseb skalar flessibbli u kost-effettiv.

Issa ejja nħarsu lejn il-vantaġġi u l-iżvantaġġi ta 'numru kbir ta' nodi żgħar.

It-tieni għażla: ħafna nodi żgħar

Il-vantaġġi ta 'dan l-approċċ essenzjalment joħorġu mill-iżvantaġġi tal-għażla opposta b'diversi nodi kbar.

Pros

Pro #1: Inqas impatt tal-falliment
Aktar ma jkun hemm nodi, inqas imżiewed fuq kull nodu. Pereżempju, jekk għandek mitt modulu għal kull għaxar nodi, allura kull nodu jkollu medja ta 'għaxar moduli.

B'dan il-mod, jekk wieħed min-nodi jfalli, titlef biss 10% tal-piż tax-xogħol. Iċ-ċansijiet huma li numru żgħir biss ta' repliki jiġu affettwati u l-applikazzjoni ġenerali tibqa' operattiva.

Barra minn hekk, in-nodi li fadal x'aktarx se jkollhom biżżejjed riżorsi ħielsa biex jimmaniġġjaw l-ammont ta 'xogħol tan-node fallut, sabiex Kubernetes jista' liberament jiskeda mill-ġdid il-miżwed u l-applikazzjonijiet tiegħek jerġgħu lura għal stat funzjonali relattivament malajr.

Pro #2: Replikazzjoni tajba
Jekk ikun hemm biżżejjed nodi, l-iskeder ta 'Kubernetes jista' jassenja nodi differenti għar-repliki kollha. B'dan il-mod, jekk node ifalli, se tiġi affettwata replika waħda biss u l-applikazzjoni tibqa' disponibbli.

Cons

Żvantaġġ Nru 1. Diffiċli biex tikkontrolla
Numru kbir ta 'nodi huma aktar diffiċli biex jiġu mmaniġġjati. Pereżempju, kull node Kubernetes għandu jikkomunika ma 'l-oħrajn kollha, jiġifieri, in-numru ta' konnessjonijiet jikber b'mod kwadratiku, u dawn il-konnessjonijiet kollha jeħtieġ li jiġu ssorveljati.

Il-kontrollur tan-nodi fil-Maniġer tal-Kontrollur ta 'Kubernetes jgħaddi regolarment min-nodi kollha fil-cluster biex jiċċekkja s-saħħa - aktar nodi, aktar tagħbija fuq il-kontrollur.

It-tagħbija fuq id-database etcd qed tikber ukoll - kull sejħiet kubelet u kube-proxy watcher għall-etcd (permezz tal-API), li għalih etcd għandu jxandar aġġornamenti tal-oġġett.

B'mod ġenerali, kull nodu tal-ħaddiem jimponi tagħbija addizzjonali fuq il-komponenti tas-sistema tan-nodi prinċipali.

Nodi tal-ħaddiema Kubernetes: ħafna żgħar jew bosta kbar?
Kubernetes jappoġġja uffiċjalment clusters ma numru ta 'nodi sa 5000. Madankollu, fil-prattika diġà hemm 500 nodu jistgħu jikkawżaw problemi mhux trivjali.

Biex timmaniġġja numru kbir ta 'nodi tal-ħaddiema, għandek tagħżel nodi prinċipali aktar qawwija. Per eżempju, kube-up jinstalla awtomatikament id-daqs korrett tal-VM għan-node prinċipali skont in-numru ta 'nodi tal-ħaddiema. Jiġifieri, iktar ma jkun hemm nodi tal-ħaddiema, iktar għandhom ikunu produttivi n-nodi prinċipali.

Biex issolvi dawn il-problemi speċifiċi hemm żviluppi speċjali, bħal Kubelet Virtwali. Din is-sistema tippermettilek tevita r-restrizzjonijiet u tibni raggruppamenti b'numru kbir ta 'nodi tal-ħaddiema.

Żvantaġġ #2: Aktar spejjeż ġenerali.
Fuq kull node tal-ħaddiem, Kubernetes imexxi sett ta' daemons tas-sistema - dawn jinkludu r-runtime tal-kontenitur (bħal Docker), kube-proxy u kubelet, inkluż cAdvisor. Flimkien jikkunsmaw ċertu ammont fiss ta’ riżorsi.

Jekk għandek ħafna nodi żgħar, il-proporzjon ta 'dan l-overhead fuq kull node huwa akbar. Pereżempju, immaġina li d-daemons tas-sistema kollha fuq nodu wieħed flimkien jużaw 0,1 CPU cores u 0,1 GB ta 'memorja. Jekk għandek nodu wieħed b'għaxar qalba b'10 GB ta 'memorja, allura d-daemons jikkunsmaw 1% tal-kapaċità tal-cluster. Min-naħa l-oħra, fuq għaxar nodi single-core b'1 GB ta 'memorja, id-daemons se jieħdu 10% tal-kapaċità tal-cluster.

Għalhekk, l-inqas nodi, l-aktar effiċjenti tintuża l-infrastruttura.

Żvantaġġ Nru 3. Użu ineffiċjenti tar-riżorsi
Fuq nodi żgħar, jista 'jkun li l-biċċiet tar-riżorsi li jifdal huma żgħar wisq biex jassenjaw xi tagħbija tax-xogħol, u għalhekk jibqgħu mhux użati.

Pereżempju, kull pod jeħtieġ 0,75 GB ta 'memorja. Jekk għandek għaxar nodi, kull wieħed b'1GB ta 'memorja, tista' tmexxi għaxar imżiewed, u tħalli kull nodu b'0,25GB ta 'memorja mhux użata.

Dan ifisser li 25% tal-memorja tal-cluster kollu tinħela.

Fuq nodu kbir b'10 GB ta 'memorja, tista' tmexxi 13 minn dawn il-moduli - u se jkun hemm framment wieħed biss mhux użat ta '0,25 GB.

F'dan il-każ, 2,5% biss tal-memorja tinħela.

Għalhekk, ir-riżorsi jintużaw bl-aħjar mod fuq nodi akbar.

Diversi nodi kbar jew ħafna żgħar?

Allura, li huwa aħjar: ftit nodi kbar f'grupp jew ħafna żgħar? Bħal dejjem, m'hemm l-ebda tweġiba ċara. Jiddependi ħafna fuq it-tip ta 'applikazzjoni.

Pereżempju, jekk applikazzjoni teħtieġ 10 GB ta 'memorja, nodi akbar huma għażla ovvja. U jekk l-applikazzjoni teħtieġ replikazzjoni għaxar darbiet għal disponibbiltà għolja, ma tantx jiswa r-riskju li jitqiegħdu repliki fuq żewġ nodi biss - għandu jkun hemm minimu ta 'għaxar nodi fil-cluster.

F'sitwazzjonijiet intermedji, agħmel għażla bbażata fuq il-vantaġġi u l-iżvantaġġi ta 'kull għażla. Forsi xi argumenti huma aktar rilevanti għas-sitwazzjoni tiegħek minn oħrajn.

U mhu meħtieġ li n-nodi kollha jsiru l-istess daqs. Xejn ma jipprevjenik milli tesperimenta l-ewwel b'nodi tal-istess daqs, imbagħad iżżid nodi ta 'daqs differenti magħhom, u tgħaqqadhom fi cluster. Nodi tal-ħaddiema fi cluster Kubernetes jistgħu jkunu kompletament eteroġenji. Allura tista 'tipprova tgħaqqad il-vantaġġi taż-żewġ approċċi.

M'hemm l-ebda riċetta waħda, u kull sitwazzjoni għandha sfumaturi tagħha stess, u l-produzzjoni biss se turi l-verità.

Traduzzjoni ppreparata mit-tim tal-pjattaforma tal-cloud Mail.ru Soluzzjonijiet Cloud.

Aktar dwar Kubernetes: 25 Għodod Utli għall-Immaniġġjar u l-Iskjerament ta' Clusters.

Sors: www.habr.com

Żid kumment