Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?

Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?
Ha u theha sehlopha sa Kubernetes, ho ka hlaha lipotso: ke li-node tse kae tsa basebetsi tse lokelang ho hlophisoa le hore na ke mofuta ofe? Ke eng e betere bakeng sa sehlopha sa marang-rang: reka li-server tse 'maloa tse matla kapa u sebelise mechini ea khale e leshome le metso e' meli setsing sa hau sa data? Na ho molemo ho nka makhetlo a robeli a single-core kapa a mabeli a quad-core marung?

Likarabo tsa lipotso tsena li hlaha sehloohong sena. Daniel Weibel, moenjiniere oa mananeo le mosuoe oa morero oa thuto oa Learnk8s phetolelong ea taelo Kubernetes aaS ho tsoa ho Mail.ru.

Bokhoni ba sehlopha

Ka kakaretso, sehlopha sa Kubernetes se ka nkoa e le "supernode" e kholo. Matla a eona a computing kaofela ke kakaretso ea matla a li-node tsohle tsa eona.

Ho na le mekhoa e 'maloa ea ho fihlela sepheo sa hau sa "cluster" seo u se batlang. Mohlala, re hloka sehlopha se nang le kakaretso ea li-processor cores tse 8 le 32 GB ea RAM hobane sehlopha sa lits'ebetso se hloka lisebelisoa tse ngata. Ebe o ka kenya li-node tse peli tse nang le 16 GB ea memori kapa li-node tse 'nè tse nang le 8 GB ea memori, li-processor tse peli tsa quad-core kapa tse' nè tse peli-core.

Mona ke mekhoa e 'meli feela e ka khonehang ea ho theha sehlopha:

Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?
Likhetho tsena ka bobeli li hlahisa sehlopha se nang le bokhoni bo ts'oanang, empa tlhophiso e tlase e na le li-node tse 'ne tse nyane mme sebopeho se holimo se na le li-node tse peli tse kholoanyane.

Ke khetho efe e molemo?

Ho araba potso ena, a re shebeng melemo ea likhetho tseo ka bobeli. Re li akaretsa ka har'a tafole.

Li-node tse 'maloa tse kholo

Li-node tse ngata tse nyane

Tsamaiso e bonolo ea lihlopha (haeba e le sebakeng sa pele)

Autoscaling e boreleli

Theko e tlase (haeba e le sebakeng)

Theko e fapane hanyane (ka maru)

E ka tsamaisa lits'ebetso tse hlokang lisebelisoa tse ngata

Phetolelo e felletseng

Lisebelisoa li sebelisoa ka mokhoa o atlehileng haholoanyane (lihlopha tse tlase ho li-daemone tsa sistimi
Ho mamella liphoso tsa sehlopha se phahameng

Ka kopo hlokomela hore re bua feela ka li-node tsa basebetsi. Ho khetha palo le boholo ba li-node tse kholo ke sehlooho se fapaneng ka ho feletseng.

Kahoo, a re tšohleng ntlha e 'ngoe le e 'ngoe e tsoang tafoleng ka botlalo.

Khetho ea pele: li-node tse 'maloa tse kholo

Khetho e feteletseng ka ho fetesisa ke node e le 'ngoe ea basebetsi bakeng sa bokhoni bohle ba sehlopha. Mohlaleng o ka holimo, ena e ka ba node e le 'ngoe ea basebetsi e nang le li-cores tse 16 tsa CPU le 16 GB ea RAM.

Плюсы

Plus No. 1. Tsamaiso e bonolo
Ho bonolo ho laola mechini e 'maloa ho feta sehlopha sa likepe kaofela. Ho potlakile ho hlahisa lintlafatso le litokiso, 'me ho bonolo ho hokahanya. Palo ea ho hloleha ka lipalo tse felletseng le eona e tlase.

Ka kopo hlokomela hore tsohle tse ka holimo li sebetsa ho hardware ea hau, li-server tsa hau, eseng ho maemo a maru.

Boemo bo fapane lerung. Moo, tsamaiso e sebetsanoa ke mofani oa litšebeletso tsa leru. Ka hona, ho laola li-node tse leshome marung ha ho fapane haholo le ho laola node e le 'ngoe.

Tsela ea sephethephethe le kabo ea thepa lipakeng tsa li-pods tsa leru e etsoa ka bohona: sephethephethe se tsoang Inthaneteng se romelloa ho tekanyo e kholo ea mojaro, e fetisetsang sephethephethe ho ea koung e 'ngoe ea li-node (tšebeletso ea NodePort e beha kou ka mefuta e fapaneng ea 30000-32767 sebakeng se seng le se seng sa lihlopha). Melao e behiloeng ke kube-proxy e tsamaisa sephethephethe ho tloha node ho ea pod. Mona ke hore na e shebahala joang bakeng sa li-pods tse leshome ho li-node tse peli:

Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?
Pro #2: Theko e tlase ka node
Koloi e matla e theko e boima haholo, empa ho eketseha ha theko ha ho hlile ha hoa lekana. Ka mantsoe a mang, seva se le seng sa mantlha se nang le 10 GB sa memori hangata se theko e tlase ho feta li-server tse leshome tsa mantlha tse nang le mohopolo o lekanang.

Empa hlokomela hore molao ona ha o sebetse hangata litšebeletsong tsa leru. Mererong ea hajoale ea litheko tsa bafani bohle ba ka sehloohong ba maru, litheko li eketseha ka mokhoa o lekanang le bokhoni.

Kahoo, ka leru hangata ha o khone ho boloka ho li-server tse matla ho feta.

Pro #3: O ka tsamaisa lits'ebetso tse matla haholo
Lisebelisoa tse ling li hloka li-server tse matla ka har'a sehlopha. Ka mohlala, haeba mochine oa ho ithuta mochine o hloka 8 GB ea memori, u ke ke ua khona ho e tsamaisa ka li-node tsa 1 GB, empa feela ka bonyane node e le 'ngoe e kholo ea basebetsi.

Минусы

Bothata No. 1. Li-pods tse ngata ka node
Haeba mosebetsi o tšoanang o etsoa ka li-node tse fokolang, joale e mong le e mong oa bona o tla ba le li-pods tse ngata ka tlhaho.

Sena e ka ba bothata.

Lebaka ke hore mojule o mong le o mong o hlahisa karolo e itseng ho nako ea ho sebetsa ea setshelo (mohlala, Docker), hammoho le kubelet le cAdvisor.

Ka mohlala, kubelet e lula e hlahloba lijana tsohle sebakeng sa node bakeng sa ho phela-ha lijana tse ngata, ho na le mosebetsi o mongata oo kubelet e lokelang ho o etsa.

CAdvisor e bokella lipalo-palo tsa tšebeliso ea lisebelisoa bakeng sa lijana tsohle tse sebakeng sa node, 'me kubelet e lula e botsa tlhahisoleseling ena mme e fana ka eona ka API. Hape, lijana tse ngata li bolela mosebetsi o mongata bakeng sa cAdvisor le kubelet.

Haeba palo ea li-module e eketseha, e ka fokotsa tsamaiso esita le ho senya ho tšepahala ha eona.

Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?
Sebakeng sa polokelo ea Kubernetes tse ling ngongorehilehore li-node li tlole lipakeng tsa maemo a Ready/NotReady hobane tlhahlobo ea kamehla ea kubelet ea lijana tsohle tse node e nka nako e telele haholo.
Ka lebaka lena Kubernetes e khothaletsa ho beha li-pods tse fetang 110 node ka 'ngoe. Ho latela ts'ebetso ea node, o ka tsamaisa li-pods tse ngata ka node, empa ho thata ho bolela esale pele hore na ho tla ba le mathata kapa ntho e 'ngoe le e' ngoe e tla sebetsa hantle. Ke habohlokoa ho hlahloba mosebetsi esale pele.

Bothata No. 2. Moeli mabapi le ho ikatisa
Li-node tse fokolang haholo li fokotsa tekanyo e sebetsang ea phetisetso ea ts'ebeliso. Mohlala, haeba o na le ts'ebeliso e phahameng e nang le likopi tse hlano empa e le li-node tse peli feela, joale boemo bo sebetsang ba kopo bo fokotsehile ho isa ho tse peli.

Li-replica tse hlano li ka ajoa feela libakeng tse peli, 'me haeba e' ngoe ea tsona e hloleha, e tla theola likopi tse ngata hang-hang.

Haeba u na le li-node tse hlano kapa ho feta, setšoantšo se seng le se seng se tla sebetsa sebakeng se arohaneng, 'me ho hlōleha ha node e le' ngoe ho tla tlosa boholo ba setšoantšo se le seng.

Kahoo, litlhoko tse phahameng tsa ho fumaneha li ka hloka palo e itseng e fokolang ea li-node sehlopheng.

Bothata No. 3. Liphello tse mpe ka ho fetisisa tsa ho hlōleha
Ka palo e nyane ea li-node, ho hloleha ka 'ngoe ho na le litlamorao tse tebileng. Ka mohlala, haeba u na le li-node tse peli feela 'me e' ngoe ea tsona e hlōleha, halofo ea li-module tsa hau e nyamela hang-hang.

Ehlile, Kubernetes e tla tlosa mojaro oa mosebetsi ho tloha sebakeng se sa atleheng ho ea ho ba bang. Empa haeba ho na le tse fokolang tsa tsona, joale ho ka 'na ha se ke ha e-ba le matla a lekaneng a mahala. Ka lebaka leo, tse ling tsa likopo tsa hau li tla be li le sieo ho fihlela u hlahisa node e hlōlehileng.

Ka hona, li-node tse ngata, li fokotsa tšusumetso ea ho hlōleha ha hardware.

Bothata ba #4: Mehato e mengata ea autoscaling
Kubernetes e na le cluster auto-scaling system bakeng sa lisebelisoa tsa maru, e leng se u lumellang hore u iketsetse kapa u tlose li-node ho itšetlehile ka litlhoko tsa hau tsa hona joale. Ka li-node tse kholoanyane, autoscaling e fetoha ka tšohanyetso le e bohlasoa. Ka mohlala, ka li-node tse peli, ho eketsa node e eketsehileng ho tla eketsa hang-hang matla a lihlopha ka 50%. 'Me u tla tlameha ho lefella lisebelisoa tseo, leha u sa li hloke.

Kahoo, haeba u rera ho sebelisa "automatically cluster scaling", ha li-node li le nyane, 'me u tla fumana sekala se feto-fetohang le se bolokang chelete e ngata.

Joale a re shebeng melemo le melemo ea palo e kholo ea li-node tse nyane.

Khetho ea bobeli: li-node tse ngata tse nyane

Melemo ea mokhoa ona ha e le hantle e bakoa ke mefokolo ea khetho e fapaneng le li-node tse 'maloa tse kholo.

Плюсы

Pro #1: Tšusumetso e fokolang ea ho hloleha
Li-node tse ngata, li-pods tse fokolang sebakeng se seng le se seng. Ka mohlala, haeba u na le li-module tse lekholo ho li-node tse leshome, joale node ka 'ngoe e tla ba le karolelano ea li-module tse leshome.

Ka tsela ena, haeba e 'ngoe ea li-node e hlōleha, u lahleheloa ke 10% feela ea mosebetsi. Monyetla ke hore ke palo e nyane feela ea likopi tse tla ameha mme kopo e akaretsang e tla lula e sebetsa.

Ho phaella moo, li-node tse setseng li ka 'na tsa e-ba le lisebelisoa tse lekaneng tsa mahala ho sebetsana le mosebetsi oa node e hlōlehileng, kahoo Kubernetes e ka khona ho hlophisa li-pods ka bolokolohi 'me likopo tsa hau li tla khutlela boemong bo sebetsang ka potlako.

Pro #2: Ho pheta-pheta hantle
Haeba ho na le li-node tse lekaneng, mohlophisi oa Kubernetes a ka abela li-node tse fapaneng ho likopi tsohle. Ka tsela ena, haeba node e hloleha, ho tla ameha setšoantšo se le seng feela mme kopo e tla lula e le teng.

Минусы

Bothata No. 1. Ho thata ho laola
Li-node tse ngata li thata haholo ho li laola. Mohlala, node e 'ngoe le e' ngoe ea Kubernetes e tlameha ho buisana le tse ling kaofela, ke hore, palo ea likhokahano e hola ka quadratically, 'me likhokahano tsena kaofela li hloka ho lateloa.

Mookameli oa node ho Kubernetes Controller Manager o lula a tsamaea ka li-node tsohle sehlopheng ho hlahloba bophelo bo botle - li-node tse ngata, mojaro o eketsehileng ho molaoli.

Mojaro o ho database oa etcd le ona oa hola - mohala o mong le o mong oa kubelet le kube-proxy molebeli bakeng sa etcd (ka API), moo etcd e lokelang ho hasanya lintlafatso tsa ntho.

Ka kakaretso, node e 'ngoe le e' ngoe ea basebetsi e beha mojaro o eketsehileng likarolong tsa tsamaiso ea li-node tse kholo.

Li-node tsa basebetsi ba Kubernetes: tse nyane tse ngata kapa tse kholo tse ngata?
Kubernetes e tšehetsa ka molao lihlopha tse nang le palo ea li-node ho fihlela ho 5000. Leha ho le joalo, ts'ebetsong ho na le li-node tse 500 e ka baka mathata a sa reng letho.

Ho laola palo e kholo ea li-node tsa basebetsi, o lokela ho khetha li-master node tse matla haholoanyane. Ka mohlala, ho be-up kenya ka tsela e iketsang boholo bo nepahetseng ba VM bakeng sa node e kholo ho latela palo ea li-node tsa basebetsi. Ke hore, li-node tse ngata tsa basebetsi, li-node tse ngata li lokela ho ba tse atlehang haholoanyane.

Ho rarolla mathata ana a khethehileng ho na le lintlafatso tse khethehileng, joalo ka Kubel ea Virtual. Sistimi ena e u lumella ho tlola lithibelo le ho haha ​​​​lihlopha tse nang le li-node tse ngata tsa basebetsi.

Bothata ba #2: Litšenyehelo tse ngata tse holimo.
Sebakeng se seng le se seng sa basebetsi, Kubernetes e tsamaisa sete ea li-daemon tsa sistimi - tsena li kenyelletsa nako ea nako ea setshelo (joalo ka Docker), kube-proxy le kubelet, ho kenyeletsoa cAdvisor. Mmoho ba ja palo e itseng e tsitsitseng ea lisebelisoa.

Haeba u na le li-node tse ngata tse nyane, karolo ea karolo ena e holimo sebakeng se seng le se seng e kholoanyane. Ka mohlala, nahana hore li-daemone tsohle tsa tsamaiso sebakeng se le seng hammoho li sebelisa 0,1 CPU cores le 0,1 GB ea memori. Haeba u na le node e le 'ngoe ea mantlha e nang le 10 GB ea memori, li-daemone li sebelisa 1% ea bokhoni ba sehlopha. Ka lehlakoreng le leng, ho li-node tse leshome tsa mantlha tse nang le 1 GB ea memori, li-daemone li tla nka 10% ea bokhoni ba sehlopha.

Ka hona, li-node tse fokolang, lisebelisoa tsa motheo li sebelisoa ka katleho.

Bothata No. 3. Tšebeliso e mpe ea lisebelisoa
Ho li-node tse nyane, ho ka etsahala hore likarolo tse setseng tsa lisebelisoa li nyane haholo hore li ka abela mosebetsi ofe kapa ofe, kahoo li lula li sa sebelisoe.

Ka mohlala, pod ka 'ngoe e hloka 0,75 GB ea memori. Haeba u na le li-node tse leshome, e 'ngoe le e' ngoe e na le 1GB ea memori, u ka matha li-pods tse leshome, u siea node ka 'ngoe ka 0,25GB ea memori e sa sebelisoang.

Sena se bolela hore 25% ea memori eohle ea sehlopha e senyehile.

Sebakeng se seholo se nang le 10 GB ea memori, o ka tsamaisa 13 ea li-module tsena - mme ho tla ba le sekhechana se le seng feela se sa sebelisoeng sa 0,25 GB.

Tabeng ena, ke 2,5% feela ea memori e senyehileng.

Ka hona, lisebelisoa li sebelisoa ka mokhoa o nepahetseng ho li-node tse kholo.

Li-node tse 'maloa tse kholo kapa tse ngata tse nyane?

Kahoo, ho molemo ke hofe: li-node tse seng kae tse kholo ka har'a sehlopha kapa tse ngata tse nyenyane? Joalo ka mehla, ha ho karabo e hlakileng. Ho hongata ho itšetlehile ka mofuta oa kopo.

Mohlala, haeba sesebelisoa se hloka 10 GB ea memori, li-node tse kholo ke khetho e hlakileng. 'Me haeba kopo e hloka ho pheta-pheta ha leshome bakeng sa ho fumaneha ho phahameng, ha ho na kotsi ea ho beha likopi holim'a li-node tse peli feela - ho tlameha ho ba le bonyane ba li-node tse leshome sehlopheng.

Maemong a mahareng, etsa khetho ho latela melemo le bofokoli ba khetho ka 'ngoe. Mohlomong likhang tse ling li amana haholo le boemo ba hau ho feta tse ling.

'Me ho hang ha ho hlokahale ho etsa li-node tsohle ka boholo bo lekanang. Ha ho letho le u thibelang ho leka pele ka li-node tsa boholo bo lekanang, ebe u eketsa li-node tsa boholo bo fapaneng ho tsona, u li kopanya ka sehlopha. Li-node tsa basebetsi sehlopheng sa Kubernetes li ka ba tse fapaneng ka ho felletseng. Kahoo o ka leka ho kopanya melemo ea mekhoa e 'meli.

Ha ho na recipe e le 'ngoe,' me boemo bo bong le bo bong bo na le li-nuances tsa bona, 'me ke tlhahiso feela e tla bontša' nete.

Phetolelo e lokisitsoeng ke sehlopha sa sethala sa maru Mail.ru Cloud Solutions.

Tse ling ka Kubernetes: Lisebelisoa tse 25 tse Molemo tsa ho Laola le ho Abela Lihlopha.

Source: www.habr.com

Eketsa ka tlhaloso