Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?

Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?
Lokacin ƙirƙirar gungu na Kubernetes, tambayoyi na iya tasowa: nodes na ma'aikata nawa don daidaitawa kuma wane nau'in? Menene ya fi dacewa ga gungu na kan layi: siyan sabobin masu ƙarfi da yawa ko amfani da tsoffin injina guda goma sha biyu a cibiyar bayanan ku? Shin yana da kyau a ɗauki misalin guda takwas guda ɗaya ko biyu quad-core a cikin gajimare?

Amsoshin waɗannan tambayoyin suna cikin labarin. Daniel Weibel, injiniyan software kuma malamin aikin ilimi na Learnk8s a cikin fassarar umarnin Kubernetes aaS daga Mail.ru.

Ƙarfin tari

Gabaɗaya, ana iya ɗaukar gungu na Kubernetes a matsayin babban "supernode". Jimillar ikon sarrafa kwamfuta ita ce jimillar iko na dukkan nodes ɗin da ya ƙunshi.

Akwai hanyoyi da yawa don cimma burin ƙarfin gungun da kuke so. Misali, muna buƙatar cluster mai jimlar ƙarfin 8 processor da 32 GB na RAM saboda saitin aikace-aikacen yana buƙatar albarkatu masu yawa. Sannan zaku iya shigar da nodes guda biyu tare da 16 GB na ƙwaƙwalwar ajiya ko nodes huɗu masu 8 GB na ƙwaƙwalwar ajiya, na'urori biyu na quad-core ko masu dual-core huɗu.

Anan akwai kawai hanyoyi biyu masu yuwuwa don ƙirƙirar tari:

Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?
Dukansu zaɓuɓɓukan suna samar da gungu mai ƙarfi iri ɗaya, amma saitin ƙasa yana da ƙananan nodes huɗu kuma babban tsari yana da manyan nodes biyu.

Wane zaɓi ya fi kyau?

Don amsa wannan tambayar, bari mu dubi fa'idodin zaɓuɓɓuka biyu. Mun taƙaita su a cikin tebur.

Manyan nodes da yawa

Yawancin ƙananan nodes

Mafi sauƙin sarrafa gungu (idan yana kan-gida)

Smooth autoscaling

Mai rahusa (idan kan-gida)

Farashin ya ɗan bambanta (a cikin gajimare)

Za a iya gudanar da aikace-aikace masu amfani da albarkatu

Cikakken kwafi

Ana amfani da albarkatu da inganci sosai (ƙasa da yawa akan tsarin daemon
Haƙuri mafi girma na gungu

Lura cewa muna magana ne kawai game da nodes na ma'aikata. Zaɓin lamba da girman manyan nodes batu ne mabanbanta.

Don haka, bari mu tattauna kowane batu daga teburin dalla-dalla.

Zaɓin farko: manyan nodes da yawa

Mafi matsananci zaɓi shine kumburin ma'aikaci ɗaya don ɗaukacin ƙarfin tari. A cikin misalin da ke sama, wannan zai zama kullin ma'aikaci guda ɗaya tare da 16 CPU cores da 16 GB na RAM.

Плюсы

Ƙari Na 1. Gudanar da Sauƙi
Yana da sauƙi don sarrafa ƴan injuna fiye da duka runduna. Yana da sauri don fitar da sabuntawa da gyare-gyare, kuma yana da sauƙin aiki tare. Yawan gazawa a cikakkiyar lambobi shima ya ragu.

Lura cewa duk abubuwan da ke sama sun shafi kayan aikin ku, sabar ku, kuma ba ga yanayin girgije ba.

Yanayin ya bambanta a cikin gajimare. A can, mai ba da sabis na girgije ne ke kula da gudanarwar. Don haka, sarrafa nodes goma a cikin gajimare bai bambanta da sarrafa kumburi ɗaya ba.

Hanyar zirga-zirgar ababen hawa da rarraba kaya tsakanin kwasfa a cikin gajimare yi ta atomatik: Ana aika zirga-zirgar zirga-zirgar da ke fitowa daga Intanet zuwa babban ma'aunin nauyi, wanda ke tura zirga-zirga zuwa tashar jiragen ruwa na ɗayan nodes (sabis na NodePort yana saita tashar jiragen ruwa a cikin kewayon 30000-32767 a cikin kowane kullin gungu). Dokokin da kube-proxy suka saita suna karkatar da zirga-zirga daga kumburi zuwa kwafsa. Ga yadda yake kama da kwasfa goma akan nodes biyu:

Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?
Pro #2: Ƙananan farashi kowane kumburi
Mota mai ƙarfi ta fi tsada, amma haɓakar farashin ba lallai ba ne. A wasu kalmomi, uwar garken-core guda goma tare da 10 GB na ƙwaƙwalwar ajiya yawanci ya fi arha fiye da sabar guda-core guda goma masu adadin ƙwaƙwalwar ajiya iri ɗaya.

Amma lura cewa wannan doka ba yawanci aiki a cikin ayyukan girgije. A cikin tsare-tsaren farashi na yanzu na duk manyan masu samar da girgije, farashin yana ƙaruwa tare da iya aiki.

Don haka, a cikin gajimare yawanci ba za ku iya yin ajiya akan sabar masu ƙarfi ba.

Pro #3: Kuna iya gudanar da aikace-aikacen aikace-aikacen kayan aiki
Wasu aikace-aikacen suna buƙatar sabar masu ƙarfi a cikin tari. Misali, idan tsarin koyon injin yana buƙatar 8 GB na ƙwaƙwalwar ajiya, ba za ku iya sarrafa shi akan nodes 1 GB ba, amma tare da aƙalla babban kumburin ma'aikaci ɗaya.

Минусы

Lalacewar No. 1. Yawancin kwasfa na kowane kumburi
Idan an yi aikin iri ɗaya akan ƙananan nodes, to kowane ɗayansu a zahiri zai sami ƙarin kwasfa.

Wannan na iya zama matsala.

Dalili kuwa shi ne cewa kowane nau'i yana gabatar da wasu kan gaba zuwa lokacin aiki na ganga (misali Docker), da kuma kubelet da cAdvisor.

Misali, kubelet akai-akai yana bincika duk kwantena akan kumburi don tsira—yawan kwantena, ƙarin aikin kubelet ya yi.

CAdvisor yana tattara kididdigar amfani da albarkatu don duk kwantena akan kumburi, kuma kubelet yana tambayar wannan bayanin akai-akai kuma yana ba da shi ta API. Bugu da ƙari, ƙarin kwantena na nufin ƙarin aiki ga duka cAdvisor da kubelet.

Idan adadin kayayyaki ya karu, zai iya rage tsarin kuma har ma ya lalata amincinsa.

Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?
A cikin ma'ajiyar Kubernetes wasu korafiwannan nodes suna tsalle tsakanin matakan Shirye/NotReady saboda kullun kubelet na duk kwantena akan kumburi yana ɗaukar tsayi da yawa.
A saboda wannan dalili Kubernetes yana ba da shawarar sanya ba fiye da kwasfa 110 a kowane kumburi. Dangane da aikin kumburin, zaku iya gudanar da ƙarin kwas ɗin kowane kumburi, amma yana da wuya a hango ko za a sami matsaloli ko komai zai yi kyau. Yana da daraja gwada aikin a gaba.

Lalacewa No. 2. Iyakance akan kwafi
Ƙananan nodes suna iyakance tasirin kwafin aikace-aikacen. Misali, idan kuna da babban wadatar aikace-aikacen tare da kwafi biyar amma nodes guda biyu kawai, to ana rage tasirin tasirin aikace-aikacen zuwa biyu.

Za'a iya rarraba kwafi biyar kawai a cikin kuɗaɗe biyu, kuma idan ɗayansu ya gaza, zai sauke kwafi da yawa lokaci guda.

Idan kuna da nodes biyar ko fiye, kowane kwafi zai gudana akan kulli daban, kuma gazawar kumburi ɗaya zai cire aƙalla kwafi ɗaya.

Don haka, manyan buƙatun samuwa na iya buƙatar takamaiman adadin nodes a cikin tari.

Lalacewa No. 3. Mummunan sakamakon rashin nasara
Tare da ƙananan nodes, kowane gazawar yana da ƙarin sakamako mai tsanani. Misali, idan kuna da nodes biyu kawai kuma ɗaya daga cikinsu ya gaza, rabin samfuran ku sun ɓace nan da nan.

Tabbas, Kubernetes za su yi ƙaura daga aikin da ba a yi nasara ba zuwa wasu. Amma idan akwai kaɗan daga cikinsu, to mai yiwuwa ba za a iya samun isassun iya aiki na kyauta ba. Sakamakon haka, wasu daga cikin aikace-aikacenku ba za su kasance ba har sai kun kawo kumburin da ya gaza.

Don haka, ƙarin nodes, ƙarancin tasirin gazawar hardware.

Hasara #4: Ƙarin matakai na atomatik
Kubernetes yana da tsarin cluster auto-scaling system don kayan aikin girgije, wanda ke ba ku damar ƙara ko cire nodes ta atomatik dangane da bukatun ku na yanzu. Tare da mafi girma nodes, autoscaling ya zama mafi m da kuma clunky. Misali, akan nodes biyu, ƙara ƙarin kumburin zai ƙara ƙarfin gungu nan da nan da 50%. Kuma za ku biya kuɗin waɗannan albarkatun, koda kuwa ba ku buƙatar su.

Don haka, idan kuna shirin yin amfani da sikelin gungu ta atomatik, ƙarami na nodes, mafi sassauƙa da sikeli mai tsada za ku samu.

Yanzu bari mu dubi abũbuwan amfãni da rashin amfani da babban adadin kananan nodes.

Zaɓin na biyu: ƙananan ƙananan nodes

Fa'idodin wannan hanyar da gaske sun samo asali ne daga rashin amfani da akasin zaɓin tare da manyan nodes da yawa.

Плюсы

Pro #1: ƙarancin tasiri na gazawa
Ƙarin nodes, ƙananan kwasfa a kowane kumburi. Alal misali, idan kana da ɗari modules a kowace nodes goma, sa'an nan kowane kumburi zai sami matsakaicin na goma modules.

Ta wannan hanyar, idan ɗaya daga cikin nodes ya gaza, kawai kuna rasa 10% na nauyin aikin. Yiwuwa shine ƙaramin adadin kwafi kawai zai shafa kuma gabaɗayan aikace-aikacen zai ci gaba da aiki.

Bugu da ƙari, ragowar nodes ɗin za su sami isassun albarkatun kyauta don ɗaukar nauyin aikin kumburin da ya gaza, don haka Kubernetes na iya sake tsara kwas ɗin kuma aikace-aikacenku za su dawo cikin yanayin aiki da sauri.

Pro #2: Kwafi mai kyau
Idan akwai isassun nodes, mai tsara tsarin Kubernetes na iya sanya nodes daban-daban ga duk kwafi. Ta wannan hanyar, idan kumburi ya gaza, kwafi ɗaya ne kawai zai shafa kuma aikace-aikacen zai kasance da samuwa.

Минусы

Rashin Amfani No. 1. Mai wuyar sarrafawa
Lambobin nodes masu yawa sun fi wahalar sarrafawa. Misali, kowane kumburin Kubernetes dole ne ya sadarwa tare da duk sauran, wato, adadin haɗin gwiwa yana girma da ƙarfi, kuma duk waɗannan haɗin suna buƙatar bin diddigin su.

Mai sarrafa kumburi a cikin Kubernetes Controller Manager yana tafiya akai-akai ta duk nodes ɗin da ke cikin gungu don duba lafiya - ƙarin nodes, ƙarin kaya akan mai sarrafawa.

Har ila yau, nauyin da ke kan bayanan bayanan etcd yana girma - kowane kubelet da kube-proxy calls mai kallo don etcd (ta hanyar API), wanda etcd yakamata ya watsa sabbin abubuwan sabuntawa.

Gabaɗaya, kowane kumburin ma'aikaci yana ɗaukar ƙarin nauyi akan abubuwan tsarin na nodes ɗin ma'aikaci.

Kubernetes nodes na ma'aikata: ƙananan ƙananan ko da yawa manya?
Kubernetes a hukumance yana goyan bayan gungu tare da adadin nodes har zuwa 5000. Duk da haka, a aikace akwai riga 500 nodes na iya haifar da matsaloli marasa mahimmanci.

Don sarrafa ɗimbin nodes na ma'aikata, ya kamata ku zaɓi mafi ƙarfi na nodes. Misali, kube-up shigarwa ta atomatik madaidaicin girman VM don kullin maigida ya danganta da adadin nodes ɗin ma'aikaci. Wato, mafi yawan nodes ɗin ma'aikata, mafi yawan ƙwararrun ma'aikatan ya kamata su kasance masu amfani.

Don magance waɗannan takamaiman matsalolin akwai ci gaba na musamman, kamar Virtual Kubelet. Wannan tsarin yana ba ku damar ketare ƙuntatawa da gina gungu tare da adadi mai yawa na nodes na ma'aikata.

Hasara #2: Ƙarin farashin kan kari.
A kan kowane kullin ma'aikaci, Kubernetes yana gudanar da saiti na tsarin daemons - waɗannan sun haɗa da lokacin aikin kwantena (kamar Docker), kube-proxy da kubelet, gami da cAdvisor. Tare suna cinye ƙayyadaddun adadin albarkatu.

Idan kuna da ƙananan nodes da yawa, rabon wannan sama akan kowane kumburi ya fi girma. Misali, yi tunanin cewa duk daemons na tsarin akan kulli ɗaya tare suna amfani da 0,1 CPU cores da 0,1 GB na ƙwaƙwalwar ajiya. Idan kana da node-core guda goma tare da 10 GB na ƙwaƙwalwar ajiya, to daemons suna cinye 1% na ƙarfin tari. A gefe guda, akan nodes-core guda goma tare da 1 GB na ƙwaƙwalwar ajiya, daemons zasu ɗauki 10% na ƙarfin tari.

Don haka, ƙananan nodes, mafi inganci ana amfani da abubuwan more rayuwa.

Lalacewa No. 3. Rashin ingantaccen amfani da albarkatu
A kan ƙananan nodes, yana iya kasancewa ragowar albarkatun albarkatun sun yi ƙanƙanta don sanya kowane nauyin aiki, don haka ba a yi amfani da su ba.

Misali, kowane kwafsa yana buƙatar 0,75 GB na ƙwaƙwalwar ajiya. Idan kana da nodes goma, kowanne yana da 1 GB na ƙwaƙwalwar ajiya, za ka iya tafiyar da kwasfa goma, barin kowane kumburi da 0,25 GB na ƙwaƙwalwar da ba a yi amfani da shi ba.

Wannan yana nufin cewa kashi 25 cikin XNUMX na duk ƙwaƙwalwar ajiyar tari ta ɓace.

A kan babban kumburi tare da 10 GB na ƙwaƙwalwar ajiya, zaku iya gudanar da 13 na waɗannan kayayyaki - kuma za a sami guntun 0,25 GB da ba a yi amfani da su ba.

A wannan yanayin, kawai 2,5% na ƙwaƙwalwar ajiya yana ɓacewa.

Don haka, ana amfani da albarkatu da kyau a kan manyan nodes.

Manyan nodes da yawa ko ƙananan ƙananan?

Don haka, wanne ya fi kyau: ƙananan ƙananan nodes a cikin tari ko ƙananan ƙananan? Kamar ko da yaushe, babu wata bayyananniyar amsa. Ya dogara da nau'in aikace-aikacen.

Misali, idan aikace-aikacen yana buƙatar 10 GB na ƙwaƙwalwar ajiya, manyan nodes zaɓi ne bayyananne. Kuma idan aikace-aikacen yana buƙatar maimaita sau goma don samun dama mai yawa, ba shi da daraja haɗarin sanya kwafi akan nodes guda biyu kawai - dole ne a sami ƙaramar nodes goma a cikin tarin.

A cikin tsaka-tsakin yanayi, yi zaɓi bisa ga fa'ida da rashin amfanin kowane zaɓi. Wataƙila wasu gardama sun fi dacewa da yanayin ku fiye da wasu.

Kuma ba lallai ba ne a yi duk nodes daidai da girman. Babu wani abu da zai hana ku fara gwaji tare da nodes masu girman guda ɗaya, sannan ƙara nodes na girman daban zuwa gare su, haɗa su cikin tari. Nodes na ma'aikata a cikin gungu na Kubernetes na iya zama iri-iri. Don haka kuna iya ƙoƙarin haɗa fa'idodin hanyoyin biyu.

Babu wani girke-girke guda ɗaya, kuma kowane yanayi yana da nasa nuances, kuma kawai samarwa zai nuna gaskiya.

Ƙungiyar dandalin girgije ta shirya fassarar Mail.ru Cloud Solutions.

Karin bayani game da Kubernetes: 25 Amfanin Kaya don Sarrafa da ƙaddamar da Tari.

source: www.habr.com

Add a comment