Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?

Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?
Lapho udala iqoqo le-Kubernetes, imibuzo ingase iphakame: mangaki ama-node abasebenzi okufanele alungiselelwe futhi hlobo luni? Yini engcono ngeqoqo elisendaweni: thenga amaseva anamandla ambalwa noma usebenzise imishini emidala eyishumi nambili esikhungweni sakho sedatha? Ingabe kungcono ukuthatha izikhathi eziyisishiyagalombili ze-single-core noma ezimbili ze-quad-core efwini?

Izimpendulo zale mibuzo zitholakala esihlokweni. UDaniel Weibel, unjiniyela wesoftware kanye nothisha wephrojekthi yezemfundo ye-Learnk8s ekuhunyushweni komyalo I-Kubernetes aaS evela ku-Mail.ru.

Umthamo weqoqo

Ngokuvamile, iqoqo le-Kubernetes lingacatshangwa "njenge-supernode" enkulu. Amandla ayo ekhompuyutha aphelele ayisamba samandla awo wonke ama-node akhona.

Kunezindlela ezimbalwa zokufinyelela ithagethi yakho yamandla eqoqo oyifunayo. Isibonelo, sidinga iqoqo elinomthamo ophelele wama-processor cores angu-8 kanye no-32 GB we-RAM ngoba isethi yezinhlelo zokusebenza idinga izinsiza eziningi. Ngemva kwalokho ungafaka amanodi amabili anenkumbulo engu-16 GB noma amanodi amane anenkumbulo engu-8 GB, amaphrosesa amabili angama-quad-core noma amane ane-dual-core.

Nazi izindlela ezimbili ezingaba khona zokwenza iqoqo:

Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?
Zombili izinketho zikhiqiza iqoqo elinomthamo ofanayo, kodwa ukucushwa okuphansi kunama-node amane amancane futhi ukucushwa okuphezulu kunama-node amabili amakhulu.

Iyiphi inketho engcono?

Ukuze siphendule lo mbuzo, ake sibheke izinzuzo zazo zombili izinketho. Siwafingqe etafuleni.

Ama-node amakhulu amaningana

Ama-node amaningi amancane

Ukuphathwa kwe-cluster okulula (uma kusendaweni)

I-autoscaling ebushelelezi

Kushibhile (uma kusendaweni)

Intengo ihluke kancane (emafini)

Ingasebenzisa izinhlelo zokusebenza ezidinga izinsiza

Ukuphindaphinda okugcwele

Izinsiza zisetshenziswa kahle kakhulu (i-overhead encane kuma-daemon wesistimu
Ukubekezelela amaphutha e-cluster

Sicela uqaphele ukuthi sikhuluma kuphela ngamanodi abasebenzi. Ukukhetha inombolo nosayizi wamanodi amakhulu kuyisihloko esihluke ngokuphelele.

Ngakho-ke, ake sixoxe ngephuzu ngalinye elivela etafuleni kabanzi.

Inketho yokuqala: ama-node amakhulu amaningana

Inketho eyedlulele kakhulu i-node eyodwa yesisebenzi yawo wonke umthamo weqoqo. Esibonelweni esingenhla, lokhu kungaba i-node eyodwa yesisebenzi enama-cores angu-16 CPU kanye no-16 GB we-RAM.

ΠŸΠ»ΡŽΡΡ‹

I-Plus No. 1. Ukuphatha okulula
Kulula ukuphatha imishini embalwa kunomkhumbi wonke. Kuyashesha ukukhipha izibuyekezo nezilungiso, futhi kulula ukuvumelanisa. Inani lokwehluleka ezinombolweni eziphelele nalo lincane.

Sicela uqaphele ukuthi konke lokhu okungenhla kuyasebenza ku-hardware yakho, amaseva akho, hhayi ezimweni zamafu.

Isimo sihlukile efwini. Lapho, ukuphathwa kusingathwa umhlinzeki wesevisi wamafu. Ngakho-ke, ukuphatha ama-node ayishumi efwini akufani kakhulu nokuphatha indawo eyodwa.

Umzila wethrafikhi nokusabalalisa komthwalo phakathi kwama-pod emafini kwenziwa ngokuzenzakalelayo: ithrafikhi evela ku-inthanethi ithunyelwa kusilinganisi somthwalo esiyinhloko, esidlulisela ithrafikhi echwebeni lenye yamanodi (isevisi ye-NodePort isetha imbobo kububanzi obungu-30000-32767 endaweni ngayinye yeqoqo). Imithetho ebekwe ummeleli we-kube-iqondisa kabusha ithrafikhi ukusuka ku-node ukuya ku-pod. Nakhu ukuthi kubukeka kanjani kuma-pods ayishumi kumanodi amabili:

Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?
I-Pro #2: Izindleko ezincane ngenodi ngayinye
Imoto enamandla ibiza kakhulu, kodwa ukukhuphuka kwentengo akusho ukuthi kuqondile. Ngamanye amazwi, iseva eyodwa ye-10-core enememori engu-XNUMX GB ngokuvamile ishibhile kunamaseva ayishumi anomongo owodwa anenani elifanayo lememori.

Kodwa qaphela ukuthi lo mthetho ngokuvamile awusebenzi ezinsizeni zamafu. Ezinhlelweni zamanje zentengo zabo bonke abahlinzeki abakhulu bamafu, izintengo zikhuphuka ngokuhambisana nomthamo.

Ngakho, efwini ngokuvamile awukwazi ukulondoloza kumaseva anamandla kakhulu.

I-Pro #3: Ungasebenzisa izinhlelo zokusebenza ezidinga izinsiza
Ezinye izinhlelo zokusebenza zidinga amaseva anamandla kuqoqo. Isibonelo, uma isistimu yokufunda yomshini idinga inkumbulo engu-8 GB, ngeke ukwazi ukuyiqhuba kumanodi angu-1 GB, kodwa okungenani ngenodi eyodwa enkulu yesisebenzi.

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

Ububi No. 1. Ama-pods amaningi ngenodi ngayinye
Uma umsebenzi ofanayo wenziwa kuma-node ambalwa, khona-ke ngayinye yazo izoba nama-pods amaningi ngokwemvelo.

Lokhu kungaba inkinga.

Isizathu siwukuthi imojula ngayinye yethula okunye okungaphezulu kusikhathi sokusebenza esitsheni (isb. I-Docker), kanye ne-kubelet ne-cAdvisor.

Isibonelo, i-kubelet ihlale iphenya zonke iziqukathi ku-node ukuze ziphileβ€”uma iziqukathi eziningi, umsebenzi omningi okufanele wenziwe i-kubelet.

I-CAdvisor iqoqa izibalo zokusetshenziswa kwensiza zazo zonke iziqukathi endaweni, futhi i-kubelet ivame ukubuza lolu lwazi futhi ikunikeze nge-API. Futhi, iziqukathi eziningi zisho umsebenzi owengeziwe kukho kokubili i-cAdvisor ne-kubelet.

Uma inani lamamojula likhuphuka, linganciphisa isistimu futhi linciphise ukuthembeka kwalo.

Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?
Endaweni yokugcina ye-Kubernetes ezinye wakhonondaukuthi ama-node agxumela phakathi kwezimo ezithi Ready/NotReady ngoba ukuhlola okujwayelekile kwe-kubelet kwazo zonke iziqukathi ku-node kuthatha isikhathi eside kakhulu.
Ngenxa yalesi sizathu Kubernetes incoma ukuthi kubekwe ama-pods angaphezu kuka-110 inodi ngayinye. Kuye ngokusebenza kwe-node, ungagijima ama-pods amaningi nge-node ngayinye, kodwa kunzima ukubikezela ukuthi kuzoba nezinkinga noma konke kuzosebenza kahle. Kuyafaneleka ukuhlola umsebenzi kusengaphambili.

Ububi No. 2. Umkhawulo wokuphindaphinda
Amanodi ambalwa kakhulu akhawulela izinga elisebenzayo lokuphindaphinda kohlelo lokusebenza. Isibonelo, uma unohlelo lokusebenza olutholakalayo oluphezulu olunama-replica amahlanu kodwa amanodi amabili kuphela, izinga elisebenzayo lokuphindaphinda liyancipha libe kabili.

Izifaniso ezinhlanu zingasatshalaliswa kuphela ezindaweni ezimbili, futhi uma eyodwa yazo ihluleka, izokwehlisa izifaniso eziningi ngesikhathi esisodwa.

Uma unamanodi amahlanu noma ngaphezulu, umfanekiso ngamunye uzosebenza endaweni ehlukile, futhi ukwehluleka kwenodi eyodwa kuzosusa cishe ikhophi eyodwa.

Ngakho, izidingo zokutholakala okuphezulu zingadinga inani elithile elincane lama-node kuqoqo.

Ububi No. 3. Imiphumela emibi kakhulu yokwehluleka
Ngenani elincane lama-node, ukwehluleka ngakunye kunemiphumela emibi kakhulu. Isibonelo, uma unamanodi amabili kuphela futhi eyodwa yawo yehluleka, ingxenye yamamojula akho iyanyamalala ngokushesha.

Vele, i-Kubernetes izothutha umthwalo womsebenzi isuka endaweni ehlulekile iye kwabanye. Kodwa uma kukhona abambalwa babo, khona-ke kungase kungabi namandla okwanele wamahhala. Njengomphumela, ezinye zezinhlelo zakho zokusebenza ngeke zitholakale uze uveze inodi ehlulekile.

Ngakho-ke, ama-node amaningi, umthelela omncane wokuhluleka kwehadiwe.

Ububi #4: Izinyathelo eziningi zokukala ngokuzenzakalelayo
I-Kubernetes inohlelo lwe-cluster auto-scaling lwengqalasizinda yamafu, ekuvumela ukuthi wengeze ngokuzenzakalelayo noma ususe ama-node kuye ngezidingo zakho zamanje. Ngama-node amakhulu, i-autoscaling iba ngokuzumayo futhi kufiphele. Isibonelo, kumanodi amabili, ukwengeza i-node eyengeziwe kuzokwandisa ngokushesha umthamo weqoqo ngo-50%. Futhi kuzodingeka ukhokhele lezo zinsiza, ngisho noma ungazidingi.

Ngakho-ke, uma uhlela ukusebenzisa ukukala kweqoqo okuzenzakalelayo, lapho ama-node eba mancane, yilapho uzothola khona ukukala okuvumelana nezimo futhi okungabizi kakhulu.

Manje ake sibheke izinzuzo nezinkinga zenani elikhulu lama-node amancane.

Inketho yesibili: ama-node amaningi amancane

Izinzuzo zale ndlela ngokuyisisekelo zivela ebubini benketho ehlukile enama-node amaningana amakhulu.

ΠŸΠ»ΡŽΡΡ‹

I-Pro #1: Umthelela omncane wokwehluleka
Amanodi amaningi, ama-pods ambalwa endaweni ngayinye. Isibonelo, uma unamamojula ayikhulu ngamanodi ayishumi, indawo ngayinye izoba nesilinganiso samamojula ayishumi.

Ngale ndlela, uma enye yama-node ihluleka, ulahlekelwa kuphela i-10% yomsebenzi. Amathuba ukuthi inani elincane kuphela lama-replicas elizothinteka futhi uhlelo lokusebenza lulonke luzohlala lusebenza.

Ukwengeza, ama-node asele cishe azoba nezinsiza ezanele zamahhala zokuphatha umthwalo we-node ehlulekile, ukuze i-Kubernetes ikwazi ukuhlela kabusha ngokukhululekile ama-pods futhi izinhlelo zakho zokusebenza zizobuyela esimweni sokusebenza ngokushesha.

I-Pro #2: Ukuphindaphinda okuhle
Uma kunama-node anele, umhleli we-Kubernetes angabela ama-node ahlukene kuzo zonke izifaniso. Ngale ndlela, uma i-node ihluleka, kuzothinteka isifaniso esisodwa kuphela futhi isicelo sizohlala sitholakala.

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

Ububi No. 1. Kunzima ukulawula
Izinombolo ezinkulu zama-node kunzima kakhulu ukuphatha. Isibonelo, i-node ngayinye ye-Kubernetes kufanele ixhumane nazo zonke ezinye, okungukuthi, inani lokuxhuma likhula kane, futhi konke lokhu kuxhumana kudinga ukulandelelwa.

Isilawuli se-node ku-Kubernetes Controller Manager sihlala sihamba kuwo wonke ama-node ku-cluster ukuze sihlole impilo - ama-node engeziwe, umthwalo omningi kusilawuli.

Umthwalo kusizindalwazi se- etcd nawo uyakhula - izingcingo ze-kubelet ne-kube-proxy ngayinye umlindi okwe-etcd (nge-API), okuthi njlld kufanele kusakazwe khona izibuyekezo zento.

Ngokuvamile, i-node ngayinye yesisebenzi ibeka umthwalo owengeziwe ezingxenyeni zesistimu zama-master node.

Amanodi ezisebenzi ze-Kubernetes: amaningi amancane noma amaningana amakhulu?
I-Kubernetes isekela ngokusemthethweni amaqoqo nge inani lama-node kufika ku-5000. Kodwa-ke, ekusebenzeni kukhona kakade ama-node angu-500 kungabangela izinkinga ezingezona ezincane.

Ukuze ulawule inani elikhulu lamanodi ezisebenzi, kufanele ukhethe amanodi amakhulu anamandla. Ngokwesibonelo, kube-up ifaka ngokuzenzakalelayo usayizi olungile we-VM we-master node kuye ngenani lamanodi omsebenzi. Okusho ukuthi, ama-node ezisebenzi amaningi, kufanele akhiqize kakhudlwana ama-master node.

Ukuxazulula lezi zinkinga ezithile kukhona intuthuko ekhethekile, njenge I-Virtual Kubelet. Lolu hlelo lukuvumela ukuthi udlule imikhawulo futhi wakhe amaqoqo ngenani elikhulu lamanodi abasebenzi.

Ububi #2: Izindleko ezengeziwe.
Kunodi ngayinye yesisebenzi, i-Kubernetes isebenzisa isethi yamadaemoni esistimu - lokhu kufaka phakathi isikhathi sokusebenza esiqukathi (njenge-Docker), i-kube-proxy kanye ne-kubelet, kuhlanganise ne-cAdvisor. Ndawonye basebenzisa inani elithile elimisiwe lezinsiza.

Uma unama-node amaningi amancane, ingxenye yalokhu okungaphezulu ku-node ngayinye inkulu. Isibonelo, ake ucabange ukuthi wonke ama-daemon esistimu endaweni eyodwa asebenzisa ama-cores angu-0,1 CPU kanye no-0,1 GB wememori. Uma unenodi eyodwa ye-10-core eno-1 GB wememori, ama-daemoni asebenzisa u-1% womthamo weqoqo. Ngakolunye uhlangothi, kuma-node ayishumi ane-single-core no-10 GB wememori, ama-daemoni azothatha u-XNUMX% womthamo weqoqo.

Ngakho-ke, ama-node ambalwa, ingqalasizinda isetshenziswa ngokuphumelelayo.

Ububi No. 3. Ukusebenzisa kabi izinsiza
Kumanodi amancane, kungenzeka ukuthi izingcezu zensiza ezisele zincane kakhulu ukuthi zingabela noma yimuphi umthwalo womsebenzi, ngakho zihlala zingasetshenzisiwe.

Isibonelo, i-pod ngayinye idinga inkumbulo engu-0,75 GB. Uma unamanodi ayishumi, ngayinye enememori engu-1GB, ungagijima ama-pod ayishumi, ushiye inodi ngayinye no-0,25GB wememori engasetshenziswanga.

Lokhu kusho ukuthi u-25% wayo yonke inkumbulo yeqoqo ilahlekile.

Ku-node enkulu enememori engu-10 GB, ungasebenzisa i-13 yalawa mamojula - futhi kuzoba nesiqephu esisodwa esingasetshenzisiwe se-0,25 GB.

Kulokhu, i-2,5% kuphela yememori elahlekile.

Ngakho-ke, izinsiza zisetshenziswa ngokufanele kakhulu kuma-node amakhulu.

Amanodi amaningana amakhulu noma amaningi amancane?

Ngakho-ke, yikuphi okungcono: ama-node ambalwa amakhulu eqoqo noma amancane amaningi? Njengenjwayelo, ayikho impendulo ecacile. Okuningi kuncike ohlotsheni lwesicelo.

Isibonelo, uma uhlelo lokusebenza ludinga inkumbulo engu-10 GB, amanodi amakhulu ayinketho esobala. Futhi uma isicelo sidinga ukuphindaphinda okuphindwe kashumi ukuze kube nokutholakala okuphezulu, akufanele neze ingozi yokubeka izifaniso kumanodi amabili njeβ€”kumele kube nobuncane bezindawo eziyishumi kuqoqo.

Ezimweni eziphakathi nendawo, khetha ngokusekelwe ebuhleni nasebubini benketho ngayinye. Mhlawumbe ezinye izingxabano zihambisana kakhulu nesimo sakho kunezinye.

Futhi akudingekile neze ukwenza wonke ama-node abe ngosayizi ofanayo. Akukho okukuvimbela ukuthi uzame kuqala ngamanodi anosayizi ofanayo, bese wengeza amanodi osayizi ohlukile kuwo, uwahlanganise kuqoqo. Ama-node abasebenzi kuqoqo le-Kubernetes angahluka ngokuphelele. Ngakho ungazama ukuhlanganisa izinzuzo zazo zombili izindlela.

Ayikho iresiphi eyodwa, futhi isimo ngasinye sinama-nuances aso, futhi ukukhiqizwa kuphela okuzobonisa iqiniso.

Ukuhumusha okulungiselelwe ithimba lenkundla yamafu I-Mail.ru Cloud Solutions.

Okuningi ngo-Kubernetes: 25 Amathuluzi Awusizo Okuphatha Nokusabalalisa Amaqoqo.

Source: www.habr.com

Engeza amazwana