Zayyana gungu na Kubernetes: nawa ya kamata su kasance?

Lura. fassara: wannan kayan daga aikin ilimi ne koyi8s shine amsar wata sanannen tambaya lokacin zayyana abubuwan da ke tushen Kubernetes. Muna fatan cewa cikakken bayanin fa'idodi da rashin amfani na kowane zaɓi zai taimaka muku yin zaɓi mafi kyau don aikinku.

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?

TL, DR: Ana iya gudanar da jerin ayyukan da yawa a cikin manyan gungu (kowane gungu zasu sami adadi mai yawa na ayyuka) ko a kan ƙananan lodanni a cikin kowane gungu).

A ƙasa akwai tebur ɗin da ke kimanta fa'idodi da rashin amfani na kowace hanya:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?

Lokacin amfani da Kubernetes azaman dandamali don gudanar da aikace-aikacen, tambayoyi masu mahimmanci galibi suna tasowa game da rikitattun kafa gungu:

  • Tari nawa zan yi amfani da shi?
  • Yaya girman zan sanya su?
  • Menene ya kamata kowane gungu ya haɗa?

A cikin wannan labarin, zan yi ƙoƙarin amsa duk waɗannan tambayoyin ta hanyar nazarin fa'idodi da rashin amfani na kowace hanya.

Bayanin tambaya

A matsayin mai haɓaka software, ƙila kuna haɓaka da sarrafa aikace-aikace da yawa a lokaci guda.

Bugu da ƙari, yawancin lokuta na waɗannan aikace-aikacen suna iya gudana a wurare daban-daban - alal misali, waɗannan na iya zama dev, gwajin и prod.

Sakamakon shine cikakken matrix na aikace-aikace da mahalli:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Aikace-aikace da Muhalli

Misalin da ke sama yana wakiltar aikace-aikace 3 da mahalli 3, yana haifar da jimillar zaɓuɓɓukan zaɓuɓɓuka guda 9.

Kowane misali na aikace-aikacen yanki ne mai ƙunshe da kai wanda za'a iya aiki dashi ba tare da wasu ba.

lura da cewa aikace-aikace misali na iya kunshi da yawa aka gyara, kamar gaban gaba, baya, bayanan bayanai, da sauransu. A cikin yanayin aikace-aikacen microservices, misalin zai haɗa da duk microservices.

Sakamakon haka, masu amfani da Kubernetes suna da tambayoyi da yawa:

  • Shin yakamata a sanya duk misalan aikace-aikacen cikin tari ɗaya?
  • Shin yana da daraja samun gungu dabam don kowane misali na aikace-aikacen?
  • Ko wataƙila ya kamata a yi amfani da haɗin hanyoyin da ke sama?

Duk waɗannan zaɓuɓɓukan suna da yuwuwar gaske, tunda Kubernetes tsari ne mai sassauƙa wanda baya iyakance iyawar mai amfani.

Ga wasu hanyoyi masu yuwuwa:

  • babban gungu na gama gari ɗaya;
  • ƙananan gungu na musamman na musamman;
  • gungu ɗaya a kowace aikace-aikacen;
  • tari daya a kowane yanayi.

Kamar yadda aka nuna a ƙasa, hanyoyin biyu na farko suna a gaba dayan ma'auni na zaɓuɓɓuka:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Daga ƴan manyan gungu (hagu) zuwa ƙanana da yawa (dama)

Gabaɗaya, ana ɗaukar gungu ɗaya “mafi girma” fiye da wani idan yana da adadi mai girma na nodes da kwasfa. Misali, gungu mai nodes 10 da kwasfa 100 ya fi girma fiye da gungu mai kumburi 1 da kwasfa 10.

To, bari mu fara!

1. Babban tari na gama-gari

Zaɓin farko shine sanya duk nauyin aiki a cikin gungu ɗaya:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Babban tari guda ɗaya

A cikin wannan hanya, ana amfani da gungu a matsayin duniya dandalin samar da ababen more rayuwa - kawai kuna tura duk abin da kuke buƙata a cikin gungu na Kubernetes.

Wuraren suna Kubernetes yana ba da damar ɓangarorin gungun su rabu da juna cikin hikima, ta yadda kowane misali na aikace-aikacen zai iya samun nasa sararin suna.

Bari mu dubi fa'idodi da rashin amfani da wannan hanyar.

+ Ingantaccen amfani da albarkatu

Tare da gungu guda ɗaya, kuna buƙatar kwafi ɗaya kawai na duk albarkatun da ake buƙata don gudanarwa da sarrafa gungu na Kubernetes.

Misali, wannan gaskiya ne ga nodes masu mahimmanci. Yawanci, kowane gungu na Kubernetes yana da manyan nodes 3, don haka ga gungu guda ɗaya adadin su zai kasance haka (don kwatantawa, gungu 10 zasu buƙaci nodes 30).

Wannan dabarar da ke sama kuma ta shafi sauran sabis ɗin da ke aiki a ko'ina cikin tari, kamar ma'aunin nauyi, masu sarrafa Ingress, tantancewa, shiga da tsarin sa ido.

A cikin gungu guda ɗaya, ana iya amfani da duk waɗannan ayyuka a lokaci ɗaya don duk nauyin aiki (babu buƙatar ƙirƙirar kwafin su, kamar yadda yake tare da gungu da yawa).

+ Mai arha

Sakamakon abubuwan da ke sama, ƴan gungu yawanci suna da rahusa saboda babu farashin kan kari.

Wannan gaskiya ne musamman ga nodes masu mahimmanci, wanda zai iya kashe kuɗi mai yawa ba tare da la'akari da yadda ake gudanar da su ba (a kan-gida ko a cikin gajimare).

Wasu ayyukan Kubernetes da aka gudanar, kamar Injin Kubernetes Google (GKE) ko Sabis na Azure Kubernetes (AKS), samar da tsarin sarrafawa kyauta. A wannan yanayin, batun farashin ba shi da ƙaranci.

Hakanan akwai ayyukan gudanarwa waɗanda ke cajin ƙayyadaddun kuɗi don gudanar da kowane gungu na Kubernetes (misali, Amazon Elastic Kubernetes Service, EKS).

+ Ingantacciyar gudanarwa

Sarrafa gungu ɗaya ya fi sauƙi fiye da sarrafa da yawa.

Gudanarwa na iya haɗawa da ayyuka masu zuwa:

  • Sabunta sigar Kubernetes;
  • kafa bututun CI/CD;
  • shigar da kayan aikin CNI;
  • kafa tsarin tabbatar da mai amfani;
  • shigarwa na mai sarrafawa;

da dai sauransu…

Game da gungu ɗaya, za ku yi duk wannan sau ɗaya kawai.

Ga gungu da yawa, ayyukan za a maimaita sau da yawa, waɗanda wataƙila za su buƙaci wasu sarrafa kansa na matakai da kayan aiki don tabbatar da daidaito da daidaito a cikin tsari.

Kuma yanzu 'yan kalmomi game da fursunoni.

- Wuri ɗaya na gazawa

Idan aka ki kadai gungu zai daina aiki nan take duk kayan aiki!

Akwai hanyoyi da yawa abubuwa na iya yin kuskure:

  • sabunta Kubernetes yana haifar da sakamako mara kyau;
  • Bangaren tari mai faɗi (misali, plugin ɗin CNI) yana farawa baya aiki kamar yadda aka zata;
  • ɗaya daga cikin abubuwan gungun ba a tsara su daidai ba;
  • gazawa a cikin abubuwan more rayuwa.

Ɗaya daga cikin irin wannan lamarin zai iya haifar da mummunar lalacewa ga duk nauyin aikin da aka shirya a cikin gungu mai raba.

- Babu m rufi

Gudu a cikin gungu da aka raba yana nufin cewa aikace-aikacen suna raba kayan aikin, damar sadarwar, da tsarin aiki akan kudurorin gungu.

A wata ma'ana, kwantena guda biyu masu aikace-aikace daban-daban guda biyu masu gudana akan kulli ɗaya kamar matakai biyu ne da ke gudana akan na'ura ɗaya da ke tafiyar da kwayar OS iri ɗaya.

Kwantena Linux suna ba da wani nau'i na keɓancewa, amma ba shi da kusan ƙarfi kamar wanda aka samar ta, in ji, injina. A zahiri, tsari a cikin kwantena shine tsari iri ɗaya da ke gudana akan tsarin aiki na rundunar.

Wannan na iya zama batun tsaro: wannan tsari a ka'idar yana ba da damar aikace-aikacen da ba su da alaƙa don sadarwa tare da juna (ko dai da gangan ko da gangan).

Bugu da ƙari, duk nauyin aiki a cikin gungu na Kubernetes yana raba wasu ayyuka masu fa'ida kamar su DNS - wannan yana bawa aikace-aikace damar nemo Sabis na wasu aikace-aikace a cikin tari.

Duk abubuwan da ke sama na iya samun ma'anoni daban-daban dangane da buƙatun tsaro na aikace-aikacen.

Kubernetes yana ba da kayan aiki daban-daban don hana al'amuran tsaro kamar Manufofin PodSecurity и Manufofin Sadarwa. Koyaya, saita su daidai yana buƙatar ɗan gogewa; Bugu da ƙari, ba za su iya rufe kwata-kwata duk ramukan tsaro ba.

Yana da mahimmanci a koyaushe a tuna cewa an tsara Kubernetes don asali rabawa, ba don kadaici da aminci.

- Rashin tsantsar yawan haya

Ganin yawan albarkatun da aka raba a cikin gungu na Kubernetes, akwai hanyoyi da yawa waɗanda aikace-aikace daban-daban zasu iya taka ƙafar juna.

Misali, aikace-aikacen na iya sarrafa albarkatun da aka raba (kamar CPU ko ƙwaƙwalwar ajiya) kuma ya hana sauran aikace-aikacen da ke gudana akan kulli ɗaya damar shiga gare ta.

Kubernetes yana ba da hanyoyi daban-daban don sarrafa wannan hali, kamar buƙatun albarkatun da iyaka (duba kuma labarin " Iyakar CPU da tashin hankali a cikin Kubernetes "- kusan. fassara), ResourceQuotas и Iyakance Range. Koyaya, kamar a yanayin tsaro, tsarin su ba ƙaramin abu bane kuma ba sa iya hana kwatakwata illolin da ba a zata ba.

- Yawan masu amfani

Game da gungu guda ɗaya, dole ne ka buɗe hanyar zuwa ga mutane da yawa. Kuma mafi girman adadin su, mafi girman haɗarin cewa za su "karya" wani abu.

A cikin gungu za ku iya sarrafa wanda zai iya yin amfani da shi Sarrafa hanyar samun damar aiki (RBAC) (duba labarin " Masu amfani da izini RBAC a cikin Kubernetes "- kusan. fassara). Duk da haka, ba zai hana masu amfani daga "karya" wani abu a cikin iyakokin yankin nasu na alhakin ba.

- Tari ba zai iya girma har abada abadin

Tarin da aka yi amfani da shi don duk nauyin aiki zai iya zama babba (dangane da adadin nodes da kwasfa).

Amma a nan wata matsala ta taso: gungu a Kubernetes ba zai iya girma har abada.

Akwai ƙayyadaddun ƙa'idodi akan girman tari. A Kubernetes yana da kusan 5000 nodes, 150 dubu pods da 300 dubu kwantena.

Duk da haka, a cikin rayuwa ta ainihi, matsaloli na iya farawa da wuri - alal misali, kawai tare da 500 kulli.

Gaskiyar ita ce, manyan gungu suna sanya babban nauyi a kan kubernetes kula Layer. Ma'ana, kiyaye gungu sama da aiki yadda ya kamata yana buƙatar gyarawa a hankali.

An binciko wannan batu a cikin wani labarin da ke da alaƙa a kan asalin blog mai suna "Gina gungu na Kubernetes - zabar girman kumburin ma'aikaci".

Amma bari mu yi la'akari da akasin tsarin: yawancin ƙananan gungu.

2. Yawancin ƙananan, gungu na musamman

Tare da wannan hanyar, kuna amfani da gungu daban don kowane ɓangaren da kuka tura:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Yawancin ƙananan gungu

Domin manufar wannan labarin, karkashin abubuwan da za a iya turawa yana nufin misali na aikace-aikace - alal misali, sigar dev na aikace-aikacen daban.

Wannan dabarar tana amfani da Kubernetes azaman ƙwararre lokacin gudu ga misalan aikace-aikacen mutum ɗaya.

Bari mu dubi fa'idodi da rashin amfani da wannan hanyar.

+ Iyakance "Radius mai fashewa"

Lokacin da gungu ya gaza, munanan sakamakon yana iyakance ga waɗancan nauyin aikin da aka tura a cikin wannan gungu. Duk sauran ayyukan aiki sun kasance ba a taɓa su ba.

+ Insulation

Nauyin aikin da aka shirya a cikin gungu ɗaya ba sa raba albarkatu kamar su processor, ƙwaƙwalwa, tsarin aiki, cibiyar sadarwa, ko wasu ayyuka.

Sakamakon shine keɓewa tsakanin aikace-aikacen da ba su da alaƙa, wanda zai iya zama da amfani ga tsaron su.

+ Ƙananan adadin masu amfani

Ganin cewa kowane gungu ya ƙunshi ƙayyadaddun kayan aiki, an rage yawan masu amfani da damar yin amfani da shi.

Ƙananan mutanen da ke da damar shiga gungu, ƙananan haɗarin cewa wani abu zai "karye."

Bari mu kalli fursunoni.

- Rashin amfani da albarkatu

Kamar yadda aka ambata a baya, kowane gungu na Kubernetes yana buƙatar takamaiman saiti na albarkatun gudanarwa: nodes na masters, abubuwan sarrafa Layer, saka idanu da hanyoyin shiga.

Game da adadi mai yawa na ƙananan gungu, dole ne a ware kaso mafi girma na albarkatun ga gudanarwa.

- Mai tsada

Rashin ingantaccen amfani da albarkatu yana haifar da tsada ta atomatik.

Misali, rike manyan nodes 30 maimakon uku tare da ikon kwamfuta iri ɗaya zai shafi farashi.

- Matsalolin gudanarwa

Sarrafa gungu na Kubernetes da yawa ya fi wahala fiye da sarrafa guda ɗaya.

Misali, dole ne ka saita tantancewa da izini ga kowane gungu. Hakanan za'a sabunta sigar Kubernetes sau da yawa.

Wataƙila kuna buƙatar yin amfani da na'ura mai sarrafa kansa don inganta duk waɗannan ayyuka mafi inganci.

Yanzu bari mu dubi ƙasa da matsananci al'amura.

3. Tari daya a kowace aikace-aikace

A cikin wannan hanyar, kuna ƙirƙiri gungu daban don duk misalan takamaiman aikace-aikacen:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Tari kowane aikace-aikace

Wannan hanya za a iya la'akari da matsayin gamayya na ka'idar "raba gungu kowace ƙungiya”, tunda yawanci ƙungiyar injiniyoyi suna haɓaka aikace-aikace ɗaya ko fiye.

Bari mu dubi fa'idodi da rashin amfani da wannan hanyar.

+ Za a iya daidaita tari zuwa aikace-aikacen

Idan aikace-aikacen yana da buƙatu na musamman, ana iya aiwatar da su a cikin gungu ba tare da shafar wasu gungu ba.

Irin waɗannan buƙatun na iya haɗawa da ma'aikatan GPU, wasu plugins na CNI, layin sabis, ko wani sabis.

Kowace gungu za a iya keɓance shi da aikace-aikacen da ke gudana a cikinta domin ya ƙunshi abin da ake buƙata kawai.

- wurare daban-daban a cikin tari ɗaya

Rashin lahani na wannan hanyar shine cewa aikace-aikacen aikace-aikacen daga mahalli daban-daban suna zama tare a cikin gungu ɗaya.

Misali, sigar prod na aikace-aikacen yana gudana a cikin gungu iri ɗaya da sigar dev. Wannan kuma yana nufin cewa masu haɓakawa suna aiki a cikin gungu ɗaya wanda ake sarrafa sigar samarwa na aikace-aikacen.

Idan, saboda ayyukan masu haɓakawa ko glitches a cikin sigar dev, gazawar ta faru a cikin gungu, to sigar prod na iya yuwuwar wahala kuma - babbar koma baya ga wannan hanyar.

Kuma a ƙarshe, labari na ƙarshe akan jerinmu.

4. Tari daya a kowane yanayi

Wannan yanayin ya ƙunshi ware gungu dabam don kowane yanayi:

Zayyana gungu na Kubernetes: nawa ya kamata su kasance?
Tari ɗaya a kowane yanayi

Misali, kuna iya samun gungu dev, gwajin и prod, wanda za ku gudanar da duk misalan aikace-aikacen da aka keɓe ga takamaiman yanayi.

Anan akwai fa'idodi da rashin amfani na wannan hanyar.

+ Ware muhallin abin sha'awa

A cikin wannan hanyar, duk mahalli sun keɓanta da juna. Duk da haka, a aikace wannan yana da mahimmanci musamman a cikin mahalli na samfur.

Sigar samarwa na aikace-aikacen yanzu sun kasance masu zaman kansu daga abin da ke faruwa a wasu gungu da mahalli.

Ta wannan hanyar, idan matsala ta taso ba zato ba tsammani a cikin gungu na dev, nau'ikan aikace-aikacen za su ci gaba da aiki kamar babu abin da ya faru.

+ Za a iya daidaita tarin ga muhalli

Ana iya daidaita kowace gungu zuwa yanayinta. Misali, zaku iya:

  • shigar da kayan aiki don haɓakawa da gyarawa a cikin gungu na dev;
  • shigar da tsarin gwaji da kayan aiki a cikin tari gwajin;
  • yi amfani da ƙarin ƙarfi hardware da tashoshi na cibiyar sadarwa a cikin tari prod.

Wannan yana ba ku damar haɓaka haɓakar haɓakar aikace-aikacen duka da aiki.

+ Ƙuntata dama ga gungun samarwa

Bukatar yin aiki kai tsaye tare da gungu na samfur da wuya ya taso, saboda haka zaku iya iyakance da'irar mutanen da ke da damar yin amfani da shi sosai.

Kuna iya ci gaba har ma da hana mutane damar zuwa wannan gungu gaba ɗaya, kuma kuyi duk abubuwan da aka tura ta amfani da kayan aikin CI/CD mai sarrafa kansa. Irin wannan hanyar za ta rage haɗarin kurakuran ɗan adam daidai inda ya fi dacewa.

Kuma yanzu 'yan kalmomi game da fursunoni.

- Babu warewa tsakanin aikace-aikace

Babban rashin lahani na tsarin shine rashin kayan aiki da keɓance kayan aiki tsakanin aikace-aikace.

Aikace-aikacen da ba su da alaƙa suna raba albarkatun tari: tushen tsarin, processor, ƙwaƙwalwar ajiya, da wasu wasu ayyuka.

Kamar yadda aka ambata, wannan na iya zama mai haɗari.

- Rashin iya gano abubuwan dogaro da aikace-aikace

Idan aikace-aikacen yana da buƙatu na musamman, to dole ne su gamsu a cikin dukkan gungu.

Misali, idan aikace-aikacen yana buƙatar GPU, to kowane gungu dole ne ya ƙunshi aƙalla ma'aikaci ɗaya tare da GPU (ko da wannan aikace-aikacen kawai ake amfani dashi).

A sakamakon haka, muna fuskantar haɗari mafi girma da kuma rashin amfani da albarkatu.

ƙarshe

Idan kuna da takamaiman saitin aikace-aikacen, ana iya sanya su cikin manyan gungu da yawa ko ƙananan ƙananan yawa.

Labarin ya tattauna fa'idodi da rashin lahani na hanyoyi daban-daban, kama daga gungu ɗaya na duniya zuwa ƙanana da ƙwararrun ƙwararru da yawa:

  • babban gungu na gaba ɗaya;
  • ƙananan gungu na musamman na musamman;
  • gungu ɗaya a kowace aikace-aikacen;
  • tari daya a kowane yanayi.

To wace hanya ya kamata ku bi?

Kamar yadda koyaushe, amsar ta dogara da yanayin amfani: kuna buƙatar auna ribobi da fursunoni na hanyoyi daban-daban kuma zaɓi mafi kyawun zaɓi.

Koyaya, zaɓin ba'a iyakance ga misalan da ke sama ba - zaku iya amfani da kowane haɗuwa da su!

Misali, zaku iya tsara gungu biyu ga kowace ƙungiya: gungu na haɓaka (wanda a ciki za a sami mahalli. dev и gwajin) da cluster don samar (inda yanayin samarwa zai kasance).

Dangane da bayanin da ke cikin wannan labarin, zaku iya inganta ribobi da fursunoni daidai da wani takamaiman yanayi. Sa'a!

PS

Karanta kuma a kan shafinmu:

source: www.habr.com

Add a comment