Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?

Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?
Mgbe ị na-eke ụyọkọ Kubernetes, ajụjụ nwere ike ibilite: ọnụ ọgụgụ ndị ọrụ ole ka ịhazi yana ụdị dị? Kedu nke ka mma maka ụyọkọ nọ n'ime ụlọ: zụta ọtụtụ sava dị ike ma ọ bụ jiri igwe ochie iri na abuo na ebe data gị? Ọ ka mma iwere ihe atụ asatọ otu-isi ma ọ bụ abụọ quad-core na igwe ojii?

Azịza nye ajụjụ ndị a dị n'isiokwu ahụ. Daniel Weibel, onye injinia ngwanrọ na onye nkuzi nke oru mmuta Learnk8s na ntụgharị asụsụ nke iwu ahụ Kubernetes aaS sitere na Mail.ru.

Ike ụyọkọ

N'ozuzu, enwere ike iche ụyọkọ Kubernetes dị ka nnukwu "supernode". Ike mkpokọta ya bụ nchikota ike nke ọnụ ọnụ ya niile.

Enwere ụzọ dị iche iche iji nweta ebumnuche ikike ụyọkọ nke ịchọrọ. Dịka ọmụmaatụ, anyị chọrọ ụyọkọ nwere ngụkọta ikike nke 8 processor cores na 32 GB nke RAM n'ihi na otu ngwa na-achọ ọtụtụ ihe onwunwe. Mgbe ahụ ị nwere ike ịwụnye ọnụ abụọ nwere 16 GB nke ebe nchekwa ma ọ bụ ọnụ anọ nwere 8 GB nke ebe nchekwa, abụọ quad-core processors ma ọ bụ anọ dual-core.

Nke a bụ naanị ụzọ abụọ enwere ike ịmepụta ụyọkọ:

Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?
Nhọrọ abụọ a na-emepụta ụyọkọ nwere otu ikike, ma nhazi nke ala nwere obere ọnụ anọ na nhazi elu nwere ọnụ abụọ buru ibu.

Kedu nhọrọ ka mma?

Iji zaa ajụjụ a, ka anyị leba anya na uru nke nhọrọ abụọ a. Anyị achịkọtala ha na tebụl.

Ọtụtụ nnukwu ọnụ ọnụ

Ọtụtụ obere oghere

Njikwa ụyọkọ dị mfe (ọ bụrụ na ọ dị n'ime ụlọ)

Ntugharị akpaaka dị nro

Dị ọnụ ala (ọ bụrụ na ụlọ)

Ọnụ ego ahụ dị ntakịrị iche (n'igwe ojii)

Nwere ike ịgba ọsọ ngwa ngwa ngwa ngwa

Ntugharị zuru oke

A na-eji akụrụngwa rụọ ọrụ nke ọma (obere ego na daemons sistemụ
Nkwenye mmejọ ụyọkọ dị elu

Biko mara na anyị na-ekwu naanị maka ọnụ ọnụ ndị ọrụ. Ịhọrọ ọnụọgụ na nha nke ọnụ ọnụ bụ isiokwu dị iche kpamkpam.

Ya mere, ka anyị tụlee isi ihe nke ọ bụla site na tebụl n'ụzọ zuru ezu karị.

Nhọrọ mbụ: ọtụtụ nnukwu ọnụ

Nhọrọ kachasị njọ bụ otu ọnụ ọnụ onye ọrụ maka ikike ụyọkọ dum. N'ihe atụ dị n'elu, nke a ga-abụ otu ọnụ ọnụ onye ọrụ nwere 16 CPU cores na 16 GB nke RAM.

Плюсы

Gụnyere No. 1. Nlekọta dị mfe
Ọ dị mfe ijikwa igwe ole na ole karịa otu ụgbọ mmiri dum. Ọ na-adị ngwa iwepụta mmelite na ndozi, yana ọ dị mfe ịmekọrịta. Ọnụọgụ ọdịda na ọnụọgụ zuru oke dịkwa obere.

Biko mara na ihe niile dị n'elu na-emetụta ngwaike gị, sava gị, ọ bụghị n'ọnọdụ igwe ojii.

Ọnọdụ dị iche na igwe ojii. N'ebe ahụ, onye na-ahụ maka ọrụ igwe ojii na-ahụ maka njikwa ahụ. Ya mere, ijikwa ọnụ iri na igwe ojii adịghị iche na ijikwa otu ọnụ.

Ntugharị okporo ụzọ na nkesa ibu n'etiti pọd na igwe ojii rụrụ na-akpaghị aka: A na-eziga okporo ụzọ na-esi na Ịntanetị gaa na isi ihe nkwụnye ibu, nke na-ebuga okporo ụzọ gaa n'ọdụ ụgbọ mmiri nke otu ọnụ (ọrụ NodePort na-edozi ọdụ ụgbọ mmiri na nso 30000-32767 na ụyọkọ ụyọkọ ọ bụla). Iwu nke kube-proxy redirect okporo ụzọ tọọrọ site na ọnụ ọnụ gaa na pọd. Nke a bụ ihe ọ dị ka pods iri na ọnụ abụọ:

Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?
Pro #2: Obere ọnụ ahịa ọ bụla
Ụgbọ ala dị ike dị oke ọnụ, mana mmụba ọnụahịa abụghị nke ahịrị. N'ikwu ya n'ụzọ ọzọ, otu ihe nkesa iri nwere 10 GB nke ebe nchekwa na-adịkarị ọnụ ala karịa sava iri otu isi nwere otu ebe nchekwa.

Mana rịba ama na iwu a anaghị arụ ọrụ na ọrụ igwe ojii. N'ime atụmatụ ọnụahịa dị ugbu a nke ndị isi igwe ojii niile, ọnụ ahịa na-abawanye n'ahịrị na ikike.

Ya mere, n'igwe ojii ị na-enwekarị ike ịchekwa na sava dị ike karị.

Pro #3: Ị nwere ike ịme ngwa ngwa ngwa ngwa
Ụfọdụ ngwa chọrọ sava dị ike na ụyọkọ. Dịka ọmụmaatụ, ọ bụrụ na usoro mmụta igwe chọrọ 8 GB nke ebe nchekwa, ị gaghị enwe ike ịme ya na oghere 1 GB, mana ọ bụ naanị na ọ dịkarịa ala otu nnukwu ọnụ ụlọ ọrụ.

Минусы

Mwepu Nke 1. Ọtụtụ pọd kwa ọnụ
Ọ bụrụ na a na-arụ otu ọrụ ahụ na ọnụ ọnụ ole na ole, mgbe ahụ, onye ọ bụla n'ime ha ga-enwekwu pods.

Nke a nwere ike ịbụ nsogbu.

Ihe kpatara ya bụ na modul nke ọ bụla na-ewebata ụfọdụ ihe karịrị oge akpa (dịka Docker), yana kubelet na cAdvisor.

Dịka ọmụmaatụ, kubelet na-enyocha arịa niile na ọnụ ọnụ maka nlanarị - ka akpa ahụ na-abawanye, ka ọrụ kubelet na-arụkwu ọrụ.

CAdvisor na-anakọta ọnụ ọgụgụ ojiji akụrụngwa maka arịa niile na ọnụ ọnụ, kubelet na-ajụkwa ozi a mgbe niile wee na-enye ya site na API. Ọzọ, ọtụtụ arịa pụtara ọrụ karịa maka ma cAdvisor na kubelet.

Ọ bụrụ na ọnụ ọgụgụ nke modul na-abawanye, ọ nwere ike belata usoro ahụ na ọbụna mebie ntụkwasị obi ya.

Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?
N'ime ebe nchekwa Kubernetes ụfọdụ mere mkpesaọnụ ụzọ ahụ na-amali elu n'etiti ọkwa dị njikere/ NotReady n'ihi na nlele kubelet mgbe niile nke arịa niile na ọnụ na-ewe ogologo oge.
N'ihi nke a Kubernetes na-atụ aro itinye ihe karịrị 110 pọd kwa ọnụ. Dabere na arụmọrụ ọnụ, ị nwere ike ịgba ọsọ karịa pods kwa ọnụ, mana ọ siri ike ịkọ ma a ga-enwe nsogbu ma ọ bụ ihe niile ga-arụ ọrụ nke ọma. Ọ bara uru ịnwale ọrụ ahụ n'ọdịnihu.

Mwepu Nke 2. Mbelata na mmegharị
Ọnụ ọnụ ole na ole na-amachi oke nrụpụta ngwa ngwa. Dịka ọmụmaatụ, ọ bụrụ na ị nwere ngwa nnweta dị elu nke nwere nsụgharị ise mana ọ bụ naanị ọnụ abụọ, mgbe ahụ a na-ebelata ogo nke mmegharị ngwa ahụ ka ọ bụrụ abụọ.

Enwere ike kesaa nnomi ise naanị n'ofe ọnụ abụọ, ma ọ bụrụ na otu n'ime ha daa, ọ ga-ewetu ọtụtụ oyiri ozugbo.

Ọ bụrụ na ị nwere ọnụ ise ma ọ bụ karịa, oyiri ọ bụla ga-agba ọsọ na ọnụ ụzọ dị iche, ọdịda nke otu ọnụ ga-ewepụ ma ọ dịkarịa ala otu oyiri.

Yabụ, ihe achọrọ dị elu nwere ike ịchọ ọnụọgụ ọnụ kacha nta na ụyọkọ.

Mwepu Nke 3. Ihe ka njọ nke ọdịda
N'iji ọnụ ọgụgụ dị nta nke ọnụ ọnụ, ọdịda nke ọ bụla nwere nsonaazụ dị njọ karị. Dịka ọmụmaatụ, ọ bụrụ na ị nwere naanị ọnụ abụọ ma otu n'ime ha daa, ọkara nke modul gị na-apụ n'anya ozugbo.

N'ezie, Kubernetes ga-ebuga ibu ọrụ ahụ site na oghere dara ada na ndị ọzọ. Ma ọ bụrụ na ọ dị ole na ole n'ime ha, mgbe ahụ enwere ike ọ gaghị ezuru ikike n'efu. N'ihi ya, ụfọdụ ngwa gị agaghị adị ruo mgbe i welitere ọnụ ụzọ dara ada.

Ya mere, ọnụ ọgụgụ ndị ọzọ, na-ebelata mmetụta nke ọdịda ngwaike.

Mwepu # 4: Nzọụkwụ autoscaling ọzọ
Kubernetes nwere usoro nchịkọta akpaaka nke ụyọkọ maka akụrụngwa igwe ojii, nke na-enye gị ohere ịgbakwunye ma ọ bụ wepu ọnụ na-akpaghị aka dabere na mkpa gị ugbu a. N'iji ọnụ ọnụ buru ibu, autoscaling na-aghọwanye ihe mberede na mgbagwoju anya. Dịka ọmụmaatụ, na ọnụ abụọ, ịgbakwunye ọnụ ụzọ ga-eme ka ikike ụyọkọ ahụ dịkwuo 50% ozugbo. Na ị ga-akwụ ụgwọ maka akụrụngwa ndị ahụ, ọbụlagodi na ịchọghị ha.

Ya mere, ọ bụrụ na ị na-eme atụmatụ iji cluster scaling na-akpaghị aka, ka ọnụ ọgụgụ ndị ahụ dị ntakịrị, ị ga-enwekwu mgbanwe na ọnụ ahịa dị mma.

Ugbu a, ka anyị leba anya na uru na ọghọm nke ọnụ ọgụgụ dị ukwuu nke obere ọnụ ọnụ.

Nhọrọ nke abụọ: ọtụtụ obere ọnụ ọnụ

Uru nke ụzọ a na-esite na ọghọm dị na nhọrọ nke ọzọ nwere ọtụtụ nnukwu ọnụ ọnụ.

Плюсы

Pro #1: obere mmetụta nke ọdịda
Ọnụ ụzọ ndị ọzọ, pọd ole na ole na ọnụ nke ọ bụla. Dịka ọmụmaatụ, ọ bụrụ na ị nwere otu narị modul kwa ọnụ iri, mgbe ahụ ọnụ ụzọ ọ bụla ga-enwe nkezi nke modul iri.

N'ụzọ dị otú a, ọ bụrụ na otu n'ime ọnụ ụzọ ada ada, ị na-atụfu naanị 10% nke ọrụ. Ohere bụ na ọ bụ naanị ọnụ ọgụgụ dị nta nke oyiri ga-emetụta na ngwa n'ozuzu ga-anọgide na-arụ ọrụ.

Na mgbakwunye, ọnụ ụzọ ndị ọzọ nwere ike ịnwe akụrụngwa n'efu zuru oke iji jikwaa ọrụ nke ọnụ ọnụ dara ada, yabụ Kubernetes nwere ike ịhazigharị pọd ahụ na ngwa gị ga-alaghachi n'ọnọdụ na-arụ ọrụ ngwa ngwa.

Pro #2: Ntugharị dị mma
Ọ bụrụ na ọnụ ọgụgụ zuru ezu, onye nhazi Kubernetes nwere ike kenye ọnụ ụzọ dị iche iche na nsụgharị niile. N'ụzọ dị otú a, ọ bụrụ na ọnụ ada ada, naanị otu oyiri ga-emetụta na ngwa ga-anọgide dị.

Минусы

Mwepu Nke 1. O siri ike ịchịkwa
Ọnụ ọgụgụ dị ukwuu nke ọnụ na-esi ike karị ijikwa. Dịka ọmụmaatụ, ọnụ ụzọ Kubernetes ọ bụla ga-ekwurịta okwu na ndị ọzọ niile, ya bụ, ọnụ ọgụgụ nke njikọ na-eto eto quadratically, na njikọ ndị a niile kwesịrị ka esoro ya.

Onye na-ahụ maka ọnụ na Kubernetes Controller Manager na-aga mgbe niile na ọnụ ọnụ niile dị na ụyọkọ ahụ iji lelee ahụike - ọnụ ọgụgụ ndị ọzọ, ka ibu na-abawanye na njikwa.

Ibu dị na nchekwa data wdgd na-etokwa - kubelet ọ bụla na oku kube-proxy nche maka wdgd (site na API), nke wdgd kwesịrị izisa mmelite ihe.

N'ozuzu, ọnụ ọnụ onye ọrụ ọ bụla na-etinyekwu ibu na sistemu sistemu nke ọnụ ụlọ.

Ọnụ ndị ọrụ Kubernetes: ọtụtụ obere ma ọ bụ ọtụtụ nnukwu?
Kubernetes na-akwado ụyọkọ na eze ọnụ ọgụgụ nke ọnụ ruo 5000. Agbanyeghị, na omume enwerelarị ọnụ ụzọ 500 nwere ike ịkpata nsogbu na-enweghị isi.

Iji jikwaa ọnụ ọgụgụ dị ukwuu nke ọnụ ọnụ ndị ọrụ, ị kwesịrị ịhọrọ ọnụ ọnụ nna ukwu dị ike karị. Dịka ọmụmaatụ, kube-elu wụnye na-akpaghị aka nha VM ziri ezi maka ọnụ ọnụ nna ukwu dabere na ọnụ ọgụgụ ndị ọrụ ọnụ. Ya bụ, ọnụ ọnụ ndị ọrụ, otú ahụ ka ọnụ ọnụ nna ukwu kwesịrị ịdị na-arụpụtakwu ihe.

Iji dozie nsogbu ndị a akọwapụtara, enwere mmepe pụrụ iche, dịka Mebere Kubelet. Usoro a na-enye gị ohere ịgafe ihe mgbochi ma wuo ụyọkọ nwere ọnụ ọgụgụ dị ukwuu nke ọnụ ọnụ ndị ọrụ.

Mwepu #2: Ọnụ ego n'elu karịa.
N'elu ọnụ onye ọrụ ọ bụla, Kubernetes na-arụ usoro daemons sistemụ - ndị a gụnyere oge ịgba ọsọ akpa (dị ka Docker), kube-proxy na kubelet, gụnyere cAdvisor. Ha jikọtara ọnụ na-erichapụ ego ụfọdụ.

Ọ bụrụ na ị nwere ọtụtụ obere ọnụ ọnụ, oke nke elu a na ọnụ nke ọ bụla ka ukwuu. Dịka ọmụmaatụ, were ya na daemons sistemụ niile n'otu ọnụ ọnụ na-eji 0,1 CPU cores na 0,1 GB nke ebe nchekwa. Ọ bụrụ na ị nwere otu oghere iri nwere 10 GB nke ebe nchekwa, mgbe ahụ daemons na-eri 1% nke ikike ụyọkọ. N'aka nke ọzọ, na oghere iri otu isi nwere 1 GB nke ebe nchekwa, daemons ga-ewere 10% nke ikike ụyọkọ.

Ya mere, ọnụ ụzọ ole na ole, ka a na-eji akụrụngwa arụ ọrụ nke ọma.

Mwepu Nke 3. Iji akụrụngwa eme ihe na-adịghị mma
N'obere ọnụ ọnụ, ọ nwere ike ịbụ na akụkụ akụ ndị fọdụrụ dị ntakịrị iji kenye ibu ọrụ ọ bụla, ya mere ha ka na-ejighị ya.

Dịka ọmụmaatụ, pọd ọ bụla chọrọ 0,75 GB nke ebe nchekwa. Ọ bụrụ na ị nwere ọnụ iri, nke ọ bụla nwere 1GB nke ebe nchekwa, ị nwere ike ịgba ọsọ pods iri, na-ahapụ ọnụ ọ bụla na 0,25GB nke ebe nchekwa na-ejighị ya.

Nke a pụtara na 25% nke ebe nchekwa ụyọkọ ahụ na-ala n'iyi.

Na nnukwu ọnụ ọnụ nke nwere 10 GB nke ebe nchekwa, ị nwere ike ịgba ọsọ 13 n'ime modul ndị a - na a ga-enwe naanị otu iberibe 0,25 GB na-ejighị ya.

N'okwu a, naanị 2,5% nke ebe nchekwa na-ala n'iyi.

Ya mere, a na-eji ihe onwunwe eme ihe nke ọma na ọnụ ọnụ buru ibu.

Ọtụtụ nnukwu ọnụ ọnụ ma ọ bụ ọtụtụ obere?

Ya mere, nke ka mma: ọnụ ọgụgụ buru ibu ole na ole na ụyọkọ ma ọ bụ ọtụtụ obere? Dị ka mgbe niile, ọ dịghị azịza doro anya. Ọtụtụ dabere n'ụdị ngwa.

Dịka ọmụmaatụ, ọ bụrụ na ngwa chọrọ 10 GB nke ebe nchekwa, nnukwu ọnụ ọnụ bụ nhọrọ doro anya. Ma ọ bụrụ na ngwa ahụ chọrọ mmegharị ugboro iri maka ịdị elu dị elu, ọ baghị uru itinye akwụkwọ oyiri na naanị ọnụ abụọ - a ga-enwerịrị opekempe nke ọnụ iri na ụyọkọ ahụ.

N'ọnọdụ ndị dị n'etiti, mee nhọrọ dabere na uru na adịghị ike nke nhọrọ ọ bụla. Ikekwe ụfọdụ arụmụka dị mkpa maka ọnọdụ gị karịa ndị ọzọ.

Ma ọ dịghị mkpa ọ bụla iji mee ka ọnụ ọnụ niile bụrụ otu nha. Ọ dịghị ihe na-egbochi gị ibu ụzọ nwalee ọnụ ọnụ nke otu nha, wee tinye ọnụ ọnụ nke nha dị iche na ha, na-ejikọta ha na ụyọkọ. Ọnụ ndị ọrụ na ụyọkọ Kubernetes nwere ike ịdị iche iche kpamkpam. Ya mere, ị nwere ike ịgbalị ijikọta uru nke ụzọ abụọ ahụ.

Ọ dịghị otu uzommeputa, na ọnọdụ ọ bụla nwere nuances nke ya, na naanị mmepụta ga-egosi eziokwu.

Ndị otu ikpo okwu igwe ojii kwadoro ntụgharị asụsụ Mail.ru Cloud Solutions.

Ihe ndị ọzọ gbasara Kubernetes: Ngwa 25 bara uru maka ijikwa na ibugharị ụyọkọ.

isi: www.habr.com

Tinye a comment