Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?

Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?
I ka hana ʻana i kahi pūʻulu Kubernetes, hiki mai nā nīnau: ʻehia mau node limahana e hoʻonohonoho a he aha ke ʻano? He aha ka mea ʻoi aku ka maikaʻi no kahi puʻupuʻu ma ka hale: kūʻai i nā kikowaena ikaika a hoʻohana paha i hoʻokahi mau mīkini kahiko i kāu kikowaena data? ʻOi aku ka maikaʻi o ka lawe ʻana i ʻewalu hoʻokahi-core a ʻelua paha quad-core i ke ao?

Aia nā pane i kēia mau nīnau ma ka ʻatikala. ʻO Daniel Weibel, ka ʻenekinia lako polokalamu a me ke kumu o ka papahana hoʻonaʻauao Learnk8s ma ka unuhi ana o ke kauoha Kubernetes aaS mai Mail.ru.

Hiki i ka pūʻulu

Ma keʻano laulā, hiki ke noʻonoʻo ʻia kahi hui Kubernetes he "supernode" nui. ʻO kona mana helu helu holoʻokoʻa, ʻo ia ka huina o nā mana o kona mau node constituent.

Nui nā ala e hiki ai ke hoʻokō i kāu pahuhopu puʻupuʻu i makemake ʻia. No ka laʻana, pono mākou i kahi puʻupuʻu me ka nui o ka mana o 8 cores processor a me 32 GB o RAM no ka mea e pono ai kahi hoʻonohonoho o nā noi i nā kumuwaiwai he nui. A laila hiki iā ʻoe ke hoʻokomo i ʻelua nodes me 16 GB o ka hoʻomanaʻo a i ʻole ʻehā mau nodes me 8 GB o ka hoʻomanaʻo, ʻelua mau kaʻina hana quad-core a i ʻole ʻehā mau lua-core.

Eia ʻelua mau ala hiki ke hana i kahi pūʻulu:

Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?
Hoʻopuka nā koho ʻelua i kahi puʻupuʻu me ka mana like, akā ʻo ka hoʻonohonoho ʻana i lalo he ʻehā mau node liʻiliʻi a ʻo ka hoʻonohonoho luna ʻelua mau node nui.

ʻO ke koho hea ʻoi aku ka maikaʻi?

No ka pane ʻana i kēia nīnau, e nānā kākou i nā pono o nā koho ʻelua. Ua hōʻuluʻulu mākou iā lākou i kahi papaʻaina.

He mau node nui

Nui nā pūnana liʻiliʻi

ʻOi aku ka maʻalahi o ka hoʻokele cluster (inā aia ma ka hale)

ʻO ka hoʻonui ʻana maʻalahi

Maikaʻi (inā ma ka hale)

He ʻokoʻa iki ke kumukūʻai (ma ke ao)

Hiki ke holo i nā noi waiwai

Hoʻopili piha

Hoʻohana maikaʻi ʻia nā kumuwaiwai (ʻoi aku ka liʻiliʻi ma luna o nā daemons system
ʻOi aku ka maikaʻi o ka ʻae ʻana i ka hewa cluster

E ʻoluʻolu e kamaʻilio mākou e pili ana i nā nodes limahana. ʻO ke koho ʻana i ka helu a me ka nui o nā nodes nui he kumuhana ʻokoʻa loa.

No laila, e kūkākūkā kākou i kēlā me kēia manaʻo mai ka papa ʻaina i nā kikoʻī hou aku.

ʻO ka koho mua: he mau nodes nui

ʻO ka koho koʻikoʻi he hoʻokahi node limahana no ka mana hui holoʻokoʻa. Ma ka laʻana ma luna nei, ʻo ia kahi node hana hoʻokahi me 16 CPU cores a me 16 GB o RAM.

Плюсы

Hoʻohui No. 1. ʻO ka hoʻokele maʻalahi
ʻOi aku ka maʻalahi o ka mālama ʻana i kekahi mau mīkini ma mua o nā ʻauwaʻa holoʻokoʻa. ʻOi aku ka wikiwiki o ka hoʻopuka ʻana i nā mea hou a me nā hoʻoponopono, a ʻoi aku ka maʻalahi o ka hoʻonohonoho ʻana. ʻOi aku ka liʻiliʻi o ka hāʻule ʻana ma nā helu piha.

E ʻoluʻolu e pili ana kēia mau mea a pau i kāu hāmeʻa, kāu mau kikowaena, ʻaʻole i nā manawa kapuaʻi.

ʻOkoʻa ke kūlana i ke ao. Ma laila, mālama ʻia ka hoʻokele e ka mea lawelawe kapuaʻi. No laila, ʻaʻole ʻokoʻa loa ka mālama ʻana i nā node ʻumi i ke ao mai ka hoʻokele ʻana i hoʻokahi node.

ʻO ke ala kaʻa a me ka hoʻoili ukana ma waena o nā pods i ke ao hana 'akomi: Hoʻouna ʻia nā kaʻa e hele mai ana mai ka Pūnaewele i ka mea kaulike haʻahaʻa nui, nāna e hoʻouna i ke kaʻa i ke awa o kekahi o nā nodes (ua hoʻonohonoho ka lawelawe NodePort i ke awa ma ka laulā 30000-32767 i kēlā me kēia puʻupuʻu pūpū). Nā lula i hoʻonohonoho ʻia e kube-proxy redirect traffic mai ka node a i ka pod. Eia ke ʻano o nā ʻumi ʻumi ma nā node ʻelua:

Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?
Pro #2: He emi ke kumu kūʻai no ka node
ʻOi aku ka pipiʻi o kahi kaʻa ikaika, akā ʻaʻole pono ka hoʻonui ʻana i ke kumukūʻai. Ma nā huaʻōlelo ʻē aʻe, ʻoi aku ka liʻiliʻi o kahi kikowaena ʻumi-core me 10 GB o ka hoʻomanaʻo ma mua o ʻumi mau kikowaena hoʻokahi me ka nui o ka hoʻomanaʻo.

Akā e hoʻomaopopo ʻaʻole hana maʻamau kēia lula i nā lawelawe kapua. Ma nā papahana kumukūʻai o kēia manawa o nā mea hoʻolako kapuaʻi nui, piʻi nā kumukūʻai me ka hiki.

No laila, ma ke ao ʻaʻole hiki iā ʻoe ke mālama ma nā kikowaena ikaika loa.

Pro #3: Hiki iā ʻoe ke holo i nā noi waiwai
Pono kekahi mau noi i nā kikowaena ikaika ma kahi hui. No ka laʻana, inā makemake ka ʻōnaehana aʻo mīkini i ka 8 GB o ka hoʻomanaʻo, ʻaʻole hiki iā ʻoe ke holo ma nā node 1 GB, akā me ka liʻiliʻi o hoʻokahi node limahana nui.

Минусы

Kinohi No. 1. Nui nā pods i kēlā me kēia node
Inā hoʻokō ʻia ka hana like ma nā node liʻiliʻi, a laila e loaʻa i kēlā me kēia o lākou nā pods.

He pilikia paha kēia.

ʻO ke kumu ke hoʻolauna nei kēlā me kēia module i kahi overhead i ka manawa holo pahu (e like me Docker), a me ka kubelet a me cAdvisor.

No ka laʻana, ʻimi mau ke kubelet i nā ipu a pau ma kahi node no ke ola ʻana—ʻo ka nui o nā ipu, ʻoi aku ka nui o ka hana a ke kubelet e hana ai.

ʻOhi ʻo CAdvisor i nā ʻikepili hoʻohana waiwai no nā pahu āpau ma kahi node, a nīnau pinepine ʻo kubelet i kēia ʻike a hāʻawi iā ia ma o kahi API. Eia hou, ʻoi aku ka nui o nā pahu i ʻoi aku ka hana no ka cAdvisor a me kubelet.

Inā hoʻonui ka helu o nā modula, hiki iā ia ke hoʻolohi i ka ʻōnaehana a hōʻemi i kona hilinaʻi.

Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?
Ma ka waihona Kubernetes kekahi hoʻopiʻie lele ana nā node ma waena o nā kūlana Ready/NotReady no ka mea, lōʻihi loa ka nānā ʻana i nā kubelet maʻamau o nā ipu a pau ma kahi node.
No kēia kumu ʻo Kubernetes ʻAʻole ʻoi aku ma mua o 110 pods i kēlā me kēia node. Ma muli o ka hana o ka node, hiki iā ʻoe ke holo hou i nā pods ma kēlā me kēia node, akā paʻakikī ke wānana inā pilikia paha nā mea a pau. Pono e ho'āʻo i ka hana ma mua.

ʻO ka hemahema No. 2. Ka palena o ka hana hou ʻana
He liʻiliʻi loa nā node i kaupalena ʻia ka nui o ka hoʻopili hou ʻana o ka noi. No ka laʻana, inā loaʻa iā ʻoe kahi noi loaʻa kiʻekiʻe me nā replicas ʻelima akā ʻelua node wale nō, a laila e hoʻemi ʻia ka pae kūpono o ka hoʻopiʻi ʻana i ʻelua.

Hiki ke puunaue wale ia elima replicas ma na node elua, a ina e haule kekahi o ia mau mea, e hoopau ia i na replicas he nui i ka manawa hookahi.

Inā loaʻa iā ʻoe ʻelima mau node a ʻoi aʻe paha, e holo kēlā me kēia kope ma kahi node ʻokoʻa, a ʻo ka pau ʻole o hoʻokahi node e hoʻoneʻe i ka nui o hoʻokahi kope.

No laila, koi ʻia nā koi loaʻa kiʻekiʻe i kahi helu liʻiliʻi o nā nodes i loko o ka pūʻulu.

ʻO ka hemahema No. 3. ʻO nā hopena maikaʻi loa o ka hāʻule
Me kahi helu liʻiliʻi o nā nodes, ʻoi aku ka nui o nā hopena koʻikoʻi i kēlā me kēia hemahema. No ka laʻana, inā ʻelua wale kāu mau node a hāʻule kekahi o lākou, nalowale koke ka hapalua o kāu mau modules.

ʻOiaʻiʻo, e neʻe ʻo Kubernetes i ka haʻahaʻa hana mai ka node hāʻule i nā poʻe ʻē aʻe. Akā inā he kakaikahi o lākou, a laila ʻaʻole lawa ka mana manuahi. ʻO ka hopena, ʻaʻole loaʻa kekahi o kāu mau noi a hiki i ka wā e hoʻopuka ai ʻoe i ka node hemahema.

No laila, ʻoi aku ka nui o nā nodes, ʻoi aku ka liʻiliʻi o ka hopena o nā hemahema o nā lako.

Loaʻa ʻole #4: ʻoi aku ka nui o nā ʻanuʻu autoscaling
Loaʻa i ka Kubernetes kahi ʻōnaehana hoʻonui ʻana i ka puʻupuʻu no ka ʻōnaehana kapuaʻi, kahi e hiki ai iā ʻoe ke hoʻohui a hoʻoneʻe ʻokoʻa i nā nodes e like me kāu mau pono o kēia manawa. Me nā node nui aʻe, lilo ka autoscaling i mea paʻakikī a paʻakikī. No ka laʻana, ma nā node ʻelua, e hoʻonui koke i kahi node e hoʻonui koke i ka mana cluster e 50%. A pono ʻoe e uku no kēlā mau kumuwaiwai, ʻoiai inā ʻaʻole pono ʻoe iā lākou.

No laila, inā hoʻolālā ʻoe e hoʻohana i ka scaling cluster maʻalahi, ʻoi aku ka liʻiliʻi o nā nodes, ʻoi aku ka maʻalahi a me ke kumu kūʻai.

I kēia manawa, e nānā kākou i nā pono a me nā pōʻino o ka nui o nā nodes liʻiliʻi.

ʻO ka koho lua: nui nā node liʻiliʻi

ʻO nā mea maikaʻi o kēia ala ke kumu mai nā hemahema o ka koho ʻē aʻe me nā nodes nui.

Плюсы

Pro #1: He liʻiliʻi ka hopena o ka hāʻule
ʻO ka nui o nā node, ʻoi aku ka liʻiliʻi o nā pods ma kēlā me kēia node. No ka laʻana, inā loaʻa iā ʻoe hoʻokahi haneli modules no nā nodes he ʻumi, a laila e loaʻa i kēlā me kēia node ka awelika o ʻumi modules.

ʻO kēia ala, inā hāʻule kekahi o nā nodes, nalowale wale ʻoe i ka 10% o ka hana. Loaʻa i kahi helu liʻiliʻi o nā replicas e hoʻopili ʻia a e hoʻomau ʻia ka noi holoʻokoʻa.

Eia hou, hiki i nā node i koe ke loaʻa nā kumu waiwai manuahi e mālama i ka hana o ka node i hāʻule ʻole, no laila hiki i nā Kubernetes ke hoʻonohonoho hou i nā pods a e hoʻi koke kāu mau noi i kahi kūlana hana.

Pro #2: Hoʻopili maikaʻi
Inā lawa nā nodes, hiki i ka mea hoʻonohonoho Kubernetes ke hāʻawi i nā node ʻokoʻa i nā kope āpau. Ma kēia ala, inā hāʻule ka node, hoʻokahi wale nō kope e hoʻopili ʻia a loaʻa ka noi.

Минусы

Kinohi No. 1. Paʻakikī e hoʻomalu
ʻOi aku ka paʻakikī o ka mālama ʻana i nā helu nui. No ka laʻana, pono e kamaʻilio kēlā me kēia node Kubernetes me nā mea ʻē aʻe a pau, ʻo ia hoʻi, piʻi quadratically ka helu o nā pilina, a pono e nānā ʻia kēia mau pilina.

Ke hele mau nei ka node controller ma Kubernetes Controller Manager ma nā node a pau o ka pūʻulu e nānā i ke olakino - ʻoi aku ka nui o nā nodes, ʻoi aku ka nui o ka ukana ma ka mea hoʻoponopono.

Ke ulu nei ka ukana ma ka waihona etcd - kēlā me kēia kubelet a me nā kube-proxy kelepona nānā no etcd (ma o ka API), kahi etcd e hoʻolaha i nā mea hou.

Ma keʻano laulā, hoʻokau ʻia kēlā me kēia node limahana i ka ukana hou aku ma luna o nā ʻāpana ʻōnaehana o nā nodes master.

Nā node limahana Kubernetes: nui nā mea liʻiliʻi a i ʻole nā ​​mea nui?
Kākoʻo ʻo Kubernetes i nā pūʻulu me ka helu o nā nodes a hiki i 5000. Eia nō naʻe, ma ka hoʻomaʻamaʻa aia he 500 nodes hiki ke hana i nā pilikia pili ʻole.

No ka mālama ʻana i ka nui o nā node limahana, pono ʻoe e koho i nā node haku ikaika. No ka laʻana, kube-up hoʻokomo ʻakomi ka nui VM pololei no ka node haku ma muli o ka nui o nā node limahana. ʻO ia hoʻi, ʻoi aku ka nui o nā nodes limahana, ʻoi aku ka maikaʻi o nā nodes haku.

No ka hoʻoponopono i kēia mau pilikia kūikawā aia nā hanana kūikawā, e like me Kubelet uila. Hāʻawi kēia ʻōnaehana iā ʻoe e kāpae i nā palena a kūkulu i nā pūʻulu me ka nui o nā nodes limahana.

Loaʻa ʻole #2: ʻoi aku ka nui o nā kumukūʻai ma luna.
Ma kēlā me kēia node limahana, holo ʻo Kubernetes i kahi pūʻulu o nā daemons ʻōnaehana - ʻo ia ka manawa holo pahu pahu (e like me Docker), kube-proxy a me kubelet, me ka cAdvisor. Hoʻopau pū lākou i kahi nui o nā kumuwaiwai.

Inā he nui kāu mau node liʻiliʻi, ʻoi aku ka nui o ka hapa o kēia ma luna o kēlā me kēia node. No ka laʻana, e noʻonoʻo e hoʻohana pū nā daemons ʻōnaehana āpau ma kahi node hoʻokahi 0,1 CPU cores a me 0,1 GB o ka hoʻomanaʻo. Inā loaʻa iā ʻoe hoʻokahi node ʻumi-core me 10 GB o ka hoʻomanaʻo, a laila e hoʻopau nā daemons i ka 1% o ka mana cluster. Ma ka ʻaoʻao ʻē aʻe, ma nā node ʻumi hoʻokahi me ka 1 GB o ka hoʻomanaʻo, e lawe nā daemons i ka 10% o ka mana cluster.

No laila, ʻoi aku ka liʻiliʻi o nā nodes, ʻoi aku ka maikaʻi o ka hoʻohana ʻana i ka ʻōnaehana.

Helu 3. Hoʻohana pono ʻole i nā kumuwaiwai
Ma nā node liʻiliʻi, liʻiliʻi paha nā ʻāpana waiwai i koe no ka hāʻawi ʻana i kekahi haʻahaʻa hana, no laila e hoʻohana ʻole ʻia lākou.

No ka laʻana, pono kēlā me kēia pod i ka 0,75 GB o ka hoʻomanaʻo. Inā he ʻumi kāu mau node, ʻo kēlā me kēia me 1GB o ka hoʻomanaʻo, hiki iā ʻoe ke holo i ʻumi pods, e waiho ana i kēlā me kēia node me 0,25GB o ka hoʻomanaʻo hoʻohana ʻole.

'O ia ho'i, ua pau ka 25% o ka ho'omana'o o ka hui.

Ma kahi node nui me 10 GB o ka hoʻomanaʻo, hiki iā ʻoe ke holo i 13 o kēia mau modula - a hoʻokahi wale nō ʻāpana i hoʻohana ʻole ʻia o 0,25 GB.

I kēia hihia, ʻo 2,5% wale nō o ka hoʻomanaʻo i pau.

No laila, hoʻohana maikaʻi ʻia nā kumuwaiwai ma nā node nui.

He mau node nui a i ʻole nā ​​mea liʻiliʻi?

No laila, ʻo wai ka mea ʻoi aku ka maikaʻi: kekahi mau node nui i loko o kahi hui a i ʻole nā ​​mea liʻiliʻi? E like me nā manawa a pau, ʻaʻohe pane maopopo. Nui ka hilinaʻi i ke ʻano o ka noi.

No ka laʻana, inā makemake kahi noi i 10 GB o ka hoʻomanaʻo, ʻo nā nodes nui kahi koho maopopo. A inā makemake ka palapala noi i ka hoʻopiʻi ʻana he ʻumi no ka loaʻa kiʻekiʻe, ʻaʻole kūpono ke kau ʻana i nā replicas ma nā node ʻelua wale nō - pono ka liʻiliʻi o ʻumi nodes i loko o ka pūpū.

Ma nā kūlana waena, e hana i kahi koho ma muli o nā pono a me nā hemahema o kēlā me kēia koho. ʻOi aku paha kekahi mau hoʻopaʻapaʻa i kou kūlana ma mua o nā mea ʻē aʻe.

ʻAʻole pono e hana i nā nodes a pau i ka nui like. ʻAʻohe mea e pale iā ʻoe mai ka hoʻāʻo mua ʻana me nā nodes o ka nui like, a laila hoʻohui i nā nodes o kahi ʻokoʻa ʻē aʻe iā lākou, e hoʻohui iā lākou i loko o kahi pūpū. Hiki ke ʻokoʻa loa nā node o nā mea hana i loko o kahi hui Kubernetes. No laila hiki iā ʻoe ke hoʻāʻo e hoʻohui i nā pono o nā ala ʻelua.

ʻAʻohe mea ʻai hoʻokahi, a aia kēlā me kēia kūlana i kāna mau nuances, a ʻo ka hana wale nō e hōʻike i ka ʻoiaʻiʻo.

Ua hoʻomākaukau ʻia ka unuhi e ka hui o ka paepae kapua Mail.ru Cloud Solutions.

Nā mea hou aku e pili ana i nā Kubernetes: 25 Nā mea hana pono no ka hoʻokele a me ka hoʻonohonoho ʻana i nā hui.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka