Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Ndewo, aha m bụ Dmitry Krasnov. Ihe karịrị afọ ise anọ m na-elekọta ụyọkọ Kubernetes ma na-ewu ụlọ ọrụ microservice dị mgbagwoju anya. Na mbido afọ a, anyị malitere ọrụ maka ijikwa ụyọkọ Kubernetes dabere na Containerum. N'iji ohere a, m ga-agwa gị ihe Kubernetes bụ na otú ntinye aka na onye na-ere ahịa si dị iche na isi mmalite.

Iji malite, gịnị bụ Kubernetes. Nke a bụ usoro maka ijikwa arịa na ọnụ ọgụgụ buru ibu nke ndị ọbịa. Site na Grik, n'ụzọ, a sụgharịrị ya dị ka "ọkwọ ụgbọ elu" ma ọ bụ "helmsman." Google mepụtara na mbụ wee nye ya dị ka onyinye teknụzụ na Cloud Native Computing Foundation, otu mba ụwa na-anaghị akwụ ụgwọ na-achịkọta ndị mmepe ụwa, ndị ọrụ njedebe na ndị na-eweta teknụzụ akpa.

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Jikwaa ọnụ ọgụgụ buru ibu nke akpa

Ugbu a, ka anyị chọpụta ụdị arịa ndị a bụ. Nke a bụ ngwa nwere gburugburu gburugburu ya - tumadi ụlọ akwụkwọ ọbá akwụkwọ nke mmemme ahụ dabere. A na-etinye ihe ndị a niile na ebe nchekwa ma gosipụta ya n'ụdị onyonyo nke enwere ike ịgba ọsọ n'agbanyeghị sistemụ arụmọrụ, nwalere na ndị ọzọ. Ma enwere nsogbu - ijikwa arịa na ọnụ ọgụgụ buru ibu nke ndị ọbịa siri ike. Ọ bụ ya mere e ji kee Kubernetes.

Onyonyo akpa na-anọchi anya ngwa yana ndabere ya. Ngwa ahụ, ihe ndabere ya na onyonyo sistemụ faịlụ OS dị n'akụkụ dị iche iche nke onyonyo a, nke a na-akpọ akwa. Enwere ike iji akwa akwa mee ihe dị iche iche. Dịka ọmụmaatụ, ngwa niile dị na ụlọ ọrụ nwere ike iji oyi akwa Ubuntu. Mgbe arịa na-agba ọsọ, ọ dịghị mkpa ịchekwa ọtụtụ nnomi nke otu oyi akwa na onye ọbịa. Nke a na-enye gị ohere ịkwalite nchekwa na nnyefe onyonyo.

Mgbe anyị chọrọ ịme ngwa sitere na akpa, a na-etinye akwa ndị dị mkpa na ibe ha ma mepụta usoro faịlụ machie. A na-etinye oyi akwa ndekọ n'elu, nke a na-ewepụ mgbe akpa ahụ kwụsịrị. Nke a na-eme ka o doo anya na mgbe akpa ahụ na-agba ọsọ, ngwa ahụ ga-enwe otu ebe mgbe niile, nke enweghị ike ịgbanwe. Nke a na-ekwe nkwa reproducibility nke gburugburu ebe obibi na OS ndị ọbịa dị iche iche. Ma ọ bụ Ubuntu ma ọ bụ CentOS, gburugburu ebe obibi ga-abụ otu. Na mgbakwunye, akpa ahụ dịpụrụ adịpụ na onye ọbịa na-eji usoro arụnyere n'ime kernel Linux. Ngwa n'ime akpa anaghị ahụ faịlụ, usoro nke onye ọbịa na arịa ndị agbata obi. Mwepu nke ngwa a sitere na OS nnabata na-enye nchekwa nchekwa ọzọ.

Enwere ọtụtụ ngwaọrụ dị maka ijikwa arịa na onye ọbịa. Ihe kacha ewu ewu n'ime ha bụ Docker. Ọ na-enye gị ohere ịnye usoro ndụ nke arịa zuru oke. Agbanyeghị, ọ na-arụ ọrụ naanị n'otu ụlọ ọrụ. Ọ bụrụ na ịchọrọ ijikwa arịa n'ofe ọtụtụ ndị ọbịa, Docker nwere ike mee ka ndị injinia nwee mmụọ mmụọ. Ọ bụ ya mere e ji kee Kubernetes.

Achọ maka Kubernetes bụ kpọmkwem n'ihi ikike ijikwa otu akpa n'ọtụtụ ndị ọbịa dị ka ụdị otu ihe. Ihe ewu ewu nke usoro a na-enye ohere iji wuo DevOps ma ọ bụ Development Operations, nke a na-eji Kubernetes na-arụ ọrụ nke DevOps a.

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Ọgụgụ 1. Ngosipụta atụmatụ nke otu Kubernetes si arụ ọrụ

Akpaaka zuru oke

DevOps bụ isi akpaaka nke usoro mmepe. N'ikwu okwu nke ọma, ndị mmepe na-ede koodu ebugoro na ebe nchekwa. Mgbe ahụ, koodu a nwere ike na-akpaghị aka na-anakọta ozugbo n'ime akpa na niile ọba akwụkwọ, nwalere na "bugharịa" na-esote ogbo - Staging, na ozugbo na Production.

Tinyere Kubernetes, DevOps na-enye gị ohere ịmegharị usoro a ka ọ na-eme na ọ fọrọ nke nta ka ọ bụrụ na ndị mmepe n'onwe ha soghị. N'ihi nke a, ụlọ ahụ na-adị ngwa ngwa ngwa ngwa, ebe ọ bụ na onye mmepụta agaghị eme nke a na kọmputa ya - ọ na-ede naanị otu koodu, na-agbanye koodu ahụ na ebe nchekwa, mgbe nke ahụ gasịrị, a na-emepụta pipeline, nke nwere ike ịgụnye usoro ahụ. nke iwu ụlọ, nnwale na ibugharị. Na nke a na-eme na nkwa ọ bụla, ya mere nnwale na-aga n'ihu.

N'otu oge ahụ, iji akpa akpa na-enye gị ohere ijide n'aka na a ga-ahapụ gburugburu ebe obibi nke mmemme a n'ime mmepụta kpọmkwem n'ụdị a nwalere ya. Ya bụ, a gaghị enwe nsogbu dị ka "enwere ụfọdụ nsụgharị na ule, ndị ọzọ na mmepụta, ma mgbe anyị wụnye ha, ihe niile dara." Ma ebe ọ bụ na taa, anyị na-enwe omume maka microservice architecture, mgbe kama otu nnukwu ngwa e nwere ọtụtụ narị ndị obere, iji jiri aka na-elekọta ha, a ga-achọ nnukwu ndị ọrụ. Ọ bụ ya mere anyị ji eji Kubernetes.

Uru, Uru, Uru


Ọ bụrụ na anyị na-ekwu maka uru Kubernetes dị ka ikpo okwu, mgbe ahụ ọ nwere uru dị ukwuu site n'echiche nke ijikwa microservice architecture.

  • Ijikwa ọtụtụ oyiri. Ihe kachasị mkpa bụ ijikwa arịa gafee ọtụtụ ndị ọbịa. Nke ka mkpa, jikwaa otutu oyiri ngwa n'ime akpa dị ka otu ihe. N'ihi nke a, ndị injinia ekwesịghị ichegbu onwe ha banyere akpa nke ọ bụla. Ọ bụrụ na otu n'ime akpa ahụ daa, Kubernetes ga-ahụ nke a wee malitegharịa ya ọzọ.
  • Netwọk ụyọkọ. Kubernetes nwekwara ihe a na-akpọ netwọkụ ụyọkọ nwere oghere adreesị nke ya. N'ihi nke a, pọd ọ bụla nwere adreesị nke ya. A ghọtara subpod dị ka ngalaba nhazi kacha nta nke ụyọkọ ebe a na-ewepụta arịa ozugbo. Tụkwasị na nke ahụ, Kubernetes nwere ọrụ nke na-ejikọta ihe nkwụnye ibu na nchọpụta ọrụ. Nke a na-enye gị ohere iwepu njikwa adreesị IP akwụkwọ ntuziaka ma nyefee Kubernetes ọrụ a. Na nyocha ahụike akpaka ga-enyere aka ịchọpụta nsogbu yana ibugharị okporo ụzọ gaa na pọd na-arụ ọrụ.
  • Njikwa nhazi. Mgbe ị na-ejikwa ọnụ ọgụgụ buru ibu nke ngwa, ọ na-esiri ike ijikwa nhazi ngwa. Maka ebumnuche a, Kubernetes nwere akụrụngwa ConfigMap pụrụ iche. Ha na-enye gị ohere ịchekwa nhazi na etiti ma kpughee ha na pọd mgbe ị na-agba ọsọ ngwa. Usoro a na-enye anyị ohere ikwe nkwa nhazi nke nhazi na opekata mpe iri ma ọ bụ otu narị ngwa oyiri.
  • Olu na-adịgide adịgide. Ihe ebumpụta ụwa enweghị ike ịgbanwe ma mgbe akpa ahụ kwụsịrị, data niile edere na sistemụ faịlụ ga-emebi. Mana ụfọdụ ngwa na-echekwa data ozugbo na diski. Iji dozie nsogbu a, Kubernetes nwere ọrụ njikwa nchekwa diski - Volume na-adịgide adịgide. Usoro a na-eji nchekwa mpụga maka data ma nwee ike ịnyefe nchekwa na-adịgide adịgide, ngọngọ ma ọ bụ faịlụ, n'ime akpa. Ihe ngwọta a na-enye gị ohere ịchekwa data dị iche iche na ndị ọrụ, nke na-azọpụta ha ma ọ bụrụ na otu ndị ọrụ a daa.
  • Ibu nkwụnye ego. Agbanyeghị na Kubernetes anyị na-ejikwa ụlọ ọrụ na-adịghị ahụkebe dị ka Deployment, StatefulSet, wdg, n'ikpeazụ arịa na-agba ọsọ na igwe mebere ma ọ bụ sava ngwaike. Ha ezughị oke ma nwee ike ịda n'oge ọ bụla. Kubernetes ga-ahụ nke a wee bugharịa okporo ụzọ dị n'ime na ụdị ndị ọzọ. Ma gịnị ga-eme na okporo ụzọ na-abịa site n'èzí? Ọ bụrụ na ị na-eduzi okporo ụzọ gaa n'otu n'ime ndị ọrụ ahụ, ọ bụrụ na ọ daa, ọrụ ahụ agaghị adị. Iji dozie nsogbu a, Kubernetes nwere ọrụ dị ka Load Balancer. Emebere ha ka ha hazie igwe ojii na-ahụ maka igwe ojii maka ndị ọrụ niile nọ na ụyọkọ ahụ. Onye na-ahụ maka mpụga a na-eduzi okporo ụzọ mpụga na ndị ọrụ ma na-enyocha ọnọdụ ha n'onwe ya. Ọ bụrụ na otu ma ọ bụ karịa ndị ọrụ agaghị adị, a na-atụgharị okporo ụzọ gaa na ndị ọzọ. Nke a na-enye gị ohere ịmepụta ọrụ dị ukwuu site na iji Kubernetes.

Kubernetes na-arụ ọrụ kacha mma mgbe ọ na-arụ ọrụ microservice architectures. Ọ ga-ekwe omume itinye usoro ahụ n'ime ihe owuwu oge gboo, mana ọ nweghị isi. Ọ bụrụ na ngwa enweghị ike ịgba ọsọ na otutu oyiri, kedu ihe dị iche ọ na-eme - na Kubernetes ma ọ bụ na ọ bụghị?

Kubernetes mepere emepe


Kubernetes mepere emepe bụ nnukwu ihe: etinyere m ya ma ọ na-arụ ọrụ. Ị nwere ike ibunye ya na sava ngwaike nke gị, na akụrụngwa nke gị, wụnye ndị nna ukwu na ndị ọrụ nke ngwa niile ga-arụ ọrụ. Na nke kachasị mkpa, ihe a niile bụ n'efu. Otú ọ dị, e nwere nuances.

  • Nke mbụ bụ ọchịchọ maka ihe ọmụma na ahụmahụ nke ndị nchịkwa na ndị injinia ga-ebuga ma kwado ihe a niile. Ebe ọ bụ na onye ahịa na-enweta nnwere onwe zuru oke nke ime ihe na ụyọkọ ahụ, ọ na-arụ ọrụ maka ịrụ ọrụ nke ụyọkọ ahụ n'onwe ya. Ma ọ dị nnọọ mfe imebi ihe niile ebe a.
  • Nke abụọ bụ enweghị njikọ. Ọ bụrụ na ị na-agba Kubernetes na-enweghị usoro mgbasa ozi ama ama, ị gaghị enweta uru niile nke mmemme ahụ. Dị ka iji olu na-adịgide adịgide na ọrụ nkwụnye ibu.

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Ọgụgụ 2. k8s architecture

Kubernetes sitere na onye na-ere ahịa


Mmekọrịta na onye na-eweta igwe ojii na-enye nhọrọ abụọ:

  • Nke mbụ, mmadụ nwere ike pịa bọtịnụ “mepụta ụyọkọ” wee nweta ụyọkọ ahaziri adịla njikere maka ojiji.
  • Nke abụọ, onye na-ere ahịa n'onwe ya na-etinye ụyọkọ ahụ ma guzobe njikọ na ígwé ojii.

Otu esi eme ebe a. Injinia nke na-amalite ụyọkọ ahụ na-akọwapụta ndị ọrụ ole ọ chọrọ yana ụdị paramita (dịka ọmụmaatụ, ndị ọrụ 5, nke ọ bụla nwere CPU 10, 16 GB nke RAM na, sịnụ, 100 GB nke diski). Mgbe nke ahụ gasịrị, ọ na-enweta ohere ịbanye na ụyọkọ nke etolitelarị. N'okwu a, a na-ebufe ndị ọrụ nke a na-ebufe ibu ahụ kpamkpam na onye ahịa ahụ, ma ụgbọ elu nchịkwa dum na-anọgide n'okpuru ọrụ nke onye na-ere ahịa (ọ bụrụ na a na-enye ọrụ ahụ dịka ụdị ọrụ a na-achịkwa).

Otú ọ dị, atụmatụ a nwere ihe ndọghachi azụ ya. N'ihi na ụgbọ elu njikwa na-anọgide na onye na-ere ahịa, onye na-ere ahịa adịghị enye onye ahịa ohere zuru ezu, nke a na-ebelata mgbanwe na-arụ ọrụ na Kubernetes. Mgbe ụfọdụ ọ na-eme na onye ahịa chọrọ ịgbakwunye ụfọdụ ọrụ kpọmkwem na Kubernetes, dịka ọmụmaatụ, nkwenye site na LDAP, mana nhazi ụgbọ elu anaghị ekwe ka nke a.

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Ọgụgụ 3. Ọmụmaatụ nke ụyọkọ Kubernetes sitere na igwe ojii

Ihe ị ga-ahọrọ: mepere emepe ma ọ bụ onye na-ere ahịa


Yabụ, Kubernetes ọ bụ ebe mepere emepe ma ọ bụ onye na-ere ahịa akọwapụtara? Ọ bụrụ na anyị ewere Kubernetes mepere emepe, mgbe ahụ onye ọrụ na-eji ya eme ihe ọ chọrọ. Mana enwere nnukwu ohere ịgba onwe gị n'ụkwụ. Na onye na-ere ahịa na-esikwu ike karị, n'ihi na a na-eche ihe niile ma hazie maka ụlọ ọrụ ahụ. Nnukwu mwepu nke Kubernetes mepere emepe bụ ihe achọrọ maka ndị ọkachamara. Site na nhọrọ onye na-ere ahịa, ụlọ ọrụ ahụ nwere onwe ya na isi ọwụwa a, mana ọ ga-ekpebi ma ọ ga-akwụ ndị ọkachamara ya ma ọ bụ onye na-ere ahịa.

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Kubernetes: isi mmalite mepere emepe vs. ndị na-ere ahịa kpọmkwem

Ọfọn, uru ndị doro anya, adịghị mma na-marakwa. Otu ihe na-adịgide adịgide: Kubernetes na-edozi ọtụtụ nsogbu site na ịmegharị njikwa nke ọtụtụ akpa. Na nke ị ga-ahọrọ, isi mmalite ma ọ bụ onye na-ere ahịa - onye ọ bụla na-eme mkpebi nke ya.

Dmitry Krasnov, onye isi na-atụpụta ụkpụrụ ụlọ ọrụ Containerum nke onye na-eweta #CloudMTS kwadebere akụkọ ahụ.

isi: www.habr.com

Tinye a comment