Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kubernetes mafi kyawun ayyuka. Ƙirƙirar ƙananan kwantena
Kubernetes mafi kyawun ayyuka. Ƙungiya na Kubernetes tare da sarari suna
Kubernetes mafi kyawun ayyuka. Tabbatar da Rayuwar Kubernetes tare da Shirye-shirye da Gwajin Rayuwa

Ga kowane albarkatun Kubernetes, zaku iya saita nau'ikan buƙatu guda biyu - Buƙatun da Iyaka. Na farko yana bayyana mafi ƙarancin buƙatun don samun albarkatun kumburi kyauta waɗanda ake buƙata don gudanar da akwati ko kwafsa, na biyu yana iyakance albarkatun da ke akwai ga kwantena.

Lokacin da Kubernetes ke tsara kwasfa, yana da matukar mahimmanci cewa kwantena suna da isassun albarkatun da za su yi aiki yadda ya kamata. Idan kuna shirin tura babban aikace-aikacen akan kundi mai takurawa albarkatun, yana yiwuwa ba zai yi aiki ba saboda kumburin yana yin ƙasa da ƙwaƙwalwar ajiya ko yana ƙarewa daga ikon CPU. A cikin wannan labarin, za mu kalli yadda zaku iya magance ƙarancin wutar lantarki ta amfani da buƙatun albarkatu da iyakoki.

Buƙatu da Iyakoki su ne hanyoyin da Kubernetes ke amfani da su don sarrafa albarkatu kamar CPU da ƙwaƙwalwar ajiya. Buƙatun shine tabbatar da kwantena ya karɓi albarkatun da ake nema. Idan kwantena ya nemi albarkatu, Kubernetes zai tsara shi ne kawai akan kumburin da zai iya samar da shi. Iyakance sarrafawa cewa albarkatun da kwantenan da aka nema ba za su taɓa wuce ƙima ba.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kwantena na iya ƙara ƙarfin kwamfuta ne kawai zuwa ƙayyadaddun iyaka, bayan haka za a iyakance shi. Bari mu ga yadda yake aiki. Don haka, akwai nau'ikan albarkatun guda biyu - processor da ƙwaƙwalwar ajiya. Mai tsara tsarin Kubernetes yana amfani da bayanai game da waɗannan albarkatun don gano inda za ku gudanar da kwas ɗin ku. Alamar ƙayyadaddun kayan aiki don kwafsa yayi kama da wannan.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kowane akwati a cikin kwasfa na iya saita tambayoyinsa da iyakoki, duka ƙari ne. An bayyana albarkatun mai sarrafawa a cikin millicores. Idan kwandon ku yana buƙatar cikakkun muryoyi biyu don gudu, kun saita ƙimar zuwa 2000m. Idan akwati kawai yana buƙatar ikon 1/4 na ainihin, ƙimar zai zama 250m. Ka tuna cewa idan ka sanya ƙimar albarkatun CPU mafi girma fiye da adadin muryoyin kundi mafi girma, ba za a yi shirin farawa kwata-kwata ba. Irin wannan yanayin zai faru idan kuna da Pod wanda ke buƙatar cores guda huɗu, kuma gungu na Kubernetes ya ƙunshi manyan injina guda biyu kawai.

Sai dai idan an tsara aikace-aikacenku musamman don amfani da ka'idodi da yawa (shirye-shirye kamar rikice-rikicen kimiyya shine a hankali), to, mafi kyawun aikin shine saita buƙatun CPU zuwa 1 ko ƙananan sannan kuma kuyi ƙarin kayan maye. Wannan bayani zai ba da tsarin mafi girman sassauci da aminci.

Idan ya zo ga iyakokin CPU, abubuwa suna da ban sha'awa tun lokacin da ake ɗaukarsa a matsayin albarkatun da za a iya matsawa. Idan aikace-aikacen ku ya fara kusanci iyakar ikon sarrafawa, Kubernetes zai fara rage jinkirin akwati ta amfani da CPU Throttling - yana rage mitar mai sarrafawa. Wannan yana nufin cewa za a murƙushe CPU ta hanyar wucin gadi, yana ba aikace-aikacen damar yin aiki mafi muni, amma ba za a ƙare ko fitar da tsarin ba.

An bayyana albarkatun ƙwaƙwalwar ajiya a cikin bytes. Yawancin lokaci ana auna ƙimar da ke cikin saitunan a cikin mebibytes Mib, amma kuna iya saita kowace ƙima, daga bytes zuwa petabytes. Hakanan yanayin ya shafi a nan kamar yadda yake tare da CPU - idan kun sanya buƙatun adadin ƙwaƙwalwar ajiya fiye da adadin ƙwaƙwalwar ajiya akan nodes ɗinku, wannan kwas ɗin ba za a shirya aiwatar da shi ba. Amma ba kamar albarkatun CPU ba, ƙwaƙwalwar ajiya ba ta matsawa saboda babu wata hanya ta iyakance amfani da shi. Don haka, za a dakatar da aiwatar da aikin kwandon da zarar ya wuce abin da aka ware masa.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Yana da mahimmanci a tuna cewa ba za ku iya saita buƙatun da suka wuce albarkatun nodes ɗin ku zasu iya bayarwa ba. Ana iya samun ƙayyadaddun ƙayyadaddun bayanai don injunan kama-da-wane na GKE a cikin hanyoyin haɗin da ke ƙasa wannan bidiyon.

A cikin ingantacciyar duniya, tsoffin saitunan kwantena zasu isa don ci gaba da gudana cikin sauƙi. Amma ainihin duniyar ba haka ba ne, mutane za su iya mantawa da sauƙi don saita amfani da albarkatu, ko kuma masu fashin kwamfuta za su saita buƙatun da ƙuntatawa waɗanda suka wuce ainihin ƙarfin kayan aikin. Don hana irin wannan yanayin faruwa, za ku iya saita ResourceQuota da LimitRange keɓaɓɓun albarkatun albarkatu.

Da zarar an ƙirƙiri filin suna, ana iya toshe shi ta amfani da ƙididdiga. Misali, idan kuna da prod da dev namespaces, ƙirar ita ce babu ƙididdiga na samarwa kwata-kwata da ƙaƙƙarfan ƙa'idodin ci gaba. Wannan yana ba da damar prod, a yayin da ake samun yawaitar cunkoso a cikin zirga-zirga, don ɗaukar dukkan albarkatun da ake da su, tare da toshe gaba ɗaya dev.

Ƙididdigar albarkatu na iya yin kama da wannan. A cikin wannan misalin akwai sassan 4 - waɗannan su ne layin ƙasa 4 na lambar.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Bari mu kalli kowannensu. Requests.cpu shine matsakaicin adadin haɗin buƙatun CPU wanda zai iya fitowa daga duk kwantena a cikin sararin suna. A cikin wannan misalin, zaku iya samun kwantena 50 tare da buƙatun 10m, kwantena biyar masu buƙatun 100m, ko akwati ɗaya kawai tare da buƙatun 500m. Muddin jimillar adadin buƙatun.cpu na sararin sunan da aka ba shi bai wuce 500m ba, komai zai yi kyau.

Buƙatun ƙwaƙwalwar ajiya da ake buƙata.memory shine matsakaicin adadin haɗakar buƙatun ƙwaƙwalwar ajiya waɗanda duk kwantena a cikin sarari suna iya samu. Kamar yadda ya faru a baya, kuna iya samun kwantena 50 2 mib, kwantena 20 mib guda biyar, ko kwantena 100 mib guda ɗaya muddin adadin adadin ƙwaƙwalwar da ake buƙata a cikin sunan bai wuce mebibytes 100 ba.

Limits.cpu shine madaidaicin adadin ikon CPU wanda duk kwantena a cikin sunan suna iya amfani da su. Za mu iya la'akari da wannan a matsayin iyakar buƙatun wutar lantarki.

A ƙarshe, limits.memory shine matsakaicin adadin ƙwaƙwalwar ajiyar da duk kwantena a cikin sararin suna za su iya amfani da su. Wannan iyaka ne akan jimillar buƙatun ƙwaƙwalwar ajiya.
Don haka, ta tsohuwa, kwantena a cikin gungun Kubernetes suna gudana tare da albarkatu marasa iyaka. Tare da ƙayyadaddun albarkatu, masu gudanar da tari na iya iyakance amfani da albarkatu da ƙirƙirar albarkatu dangane da sararin suna. A cikin sarari suna, kwafsa ko kwantena na iya cinye ƙarfin CPU da ƙwaƙwalwar ajiya kamar yadda aka ƙayyade ta hanyar keɓaɓɓen albarkatun suna. Koyaya, akwai damuwa cewa kwafsa ɗaya ko kwantena na iya ɗaukar duk abubuwan da ake da su. Don hana wannan yanayin, ana amfani da iyakacin iyaka - manufar iyakance rabon albarkatun (na kwasfa ko kwantena) a cikin sunan sunan.

Iyakar iyaka tana ba da hani waɗanda zasu iya:

  • Tabbatar da mafi ƙanƙanta da iyakar amfani da albarkatun ƙididdiga don kowane tsari ko akwati a cikin sunan suna;
  • tilasta mafi ƙanƙanta da matsakaicin buƙatun ajiya na Starage ga kowane PersistentVolumeClaim a cikin sararin suna;
  • aiwatar da dangantaka tsakanin Buƙatu da Iyaka don albarkatu a cikin wurin suna;
  • saita tsoho Buƙatun/Iyaka don ƙididdige albarkatu a cikin sarari suna kuma saka su ta atomatik cikin kwantena a lokacin aiki.

Ta wannan hanyar zaku iya ƙirƙirar kewayon iyaka a cikin sararin sunan ku. Ba kamar keɓaɓɓu ba, wanda ya shafi gaba dayan sararin suna, Ana amfani da iyaka iyaka don kwantena ɗaya. Wannan na iya hana masu amfani ƙirƙira ƙanƙanta ko, akasin haka, manyan kwantena a cikin sararin suna. Matsakaicin iyaka na iya yin kama da wannan.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kamar yadda a cikin yanayin da ya gabata, ana iya bambanta sassan 4 a nan. Mu duba kowanne.
Sashin tsoho yana saita iyakoki na tsoho don akwati a cikin kwafsa. Idan ka saita waɗannan dabi'u zuwa matsanancin kewayon, to, duk kwantena waɗanda ba a saita waɗannan ƙimar a sarari ba zasu bi tsoffin ƙima.

Sashen buƙatun tsoho na buƙatar yana saita tsoffin buƙatun don akwati a cikin kwas ɗin. Bugu da ƙari, idan kun saita waɗannan dabi'u zuwa matsanancin kewayon, to, duk kwantena waɗanda ba a bayyana waɗannan zaɓuɓɓukan ba za su tsoma baki zuwa waɗannan dabi'u.

Mafi girman sashe yana ƙayyadad da iyakacin iyaka wanda za'a iya saitawa don akwati a cikin kwafsa. Ba za a iya saita ƙima a cikin tsohowar sashe da iyakokin kwantena sama da wannan iyaka ba. Yana da mahimmanci a lura cewa idan an saita ƙimar zuwa max kuma babu wani ɓangaren tsoho, to, matsakaicin ƙimar ya zama ƙimar tsoho.

Sashin min yana ƙayyadad da ƙananan buƙatun da za a iya saita don akwati a cikin kwasfa. Koyaya, ƙimar da ke cikin sashin tsoho da tambayoyin kwantena ba za a iya saita su ƙasa da wannan iyaka ba.

Bugu da ƙari, yana da mahimmanci a lura cewa idan an saita wannan ƙimar, tsoho ba shine ba, to mafi ƙarancin ƙima ya zama tsoho mai sauri.

Waɗannan buƙatun albarkatun ana amfani da su a ƙarshe ta masu tsara tsarin Kubernetes don aiwatar da ayyukanku. Domin ku daidaita kwantenanku daidai, yana da matukar mahimmanci ku fahimci yadda yake aiki. Bari mu ce kuna son gudanar da kwasfan fayiloli da yawa a cikin tarin ku. Tsammanin ƙayyadaddun kwas ɗin suna da inganci, jadawalin Kubernetes zai yi amfani da ma'auni na zagaye don zaɓar kumburi don gudanar da aikin.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kubernetes zai bincika idan Node 1 yana da isassun albarkatu don cika buƙatun daga kwantenan kwantena, kuma idan ba haka ba, zai matsa zuwa kumburi na gaba. Idan babu ɗaya daga cikin nodes a cikin tsarin da zai iya gamsar da buƙatun, kwas ɗin za su shiga cikin yanayin da ake jiran. Yin amfani da fasalin injin Google Kubernetes kamar kumburi autoscaling, GKE na iya gano yanayin jira ta atomatik kuma ya ƙirƙiri ƙarin ƙarin nodes.

Idan daga baya kun ƙare ƙarfin kumburi, autoscaling zai rage adadin nodes don ceton ku kuɗi. Wannan shine dalilin da ya sa Kubernetes ke tsara kwasfan fayiloli bisa buƙatun. Koyaya, iyaka yana iya zama sama da buƙatun, kuma a wasu lokuta kumburi na iya ƙarewa da albarkatu. Muna kiran wannan jiha ta juyar da kai.

Kubernetes mafi kyawun ayyuka. Saita buƙatun albarkatu da iyakoki

Kamar yadda na fada, lokacin da yazo ga CPU, Kubernetes zai fara iyakance kwas ɗin. Kowane fasfo zai karɓi gwargwadon abin da ya nema, amma idan bai kai iyaka ba, za a fara amfani da maƙarƙashiya.

Lokacin da ya zo ga albarkatun ƙwaƙwalwar ajiya, Kubernetes an tilasta yin yanke shawara game da waɗanne kwasfan fayiloli don sharewa da abin da za a kiyaye har sai kun 'yantar da albarkatun tsarin ko duk tsarin zai fadi.

Bari mu yi tunanin wani labari inda injin ke ƙarewa daga ƙwaƙwalwar ajiya - ta yaya Kubernetes zai iya magance hakan?

Kubernetes za su nemo kwas ɗin da ke amfani da albarkatu fiye da yadda suka nema. Don haka idan kwantena ba su da buƙatun kwata-kwata, wannan yana nufin sun ƙi yin amfani da fiye da abin da suka nema, kawai saboda ba su nemi komai ba! Irin waɗannan kwantena sun zama manyan ƴan takara don rufewa. 'Yan takara na gaba sune kwantena waɗanda suka cika duk buƙatun su amma har yanzu suna ƙasa da iyakar iyaka.

Don haka idan Kubernetes ya sami kwasfa da yawa waɗanda suka wuce sigogin buƙatun su, zai tsara su da fifiko sannan kuma a cire mafi ƙarancin fifiko. Idan duk kwafs ɗin suna da fifiko iri ɗaya, to Kubernetes zai ƙare waɗannan kwas ɗin da suka wuce buƙatun su fiye da sauran kwas ɗin.

A lokuta da ba kasafai ba, Kubernetes na iya zubar da kwas ɗin da har yanzu ke cikin iyakokin buƙatun su. Wannan na iya faruwa lokacin da mahimman abubuwan tsarin kamar su wakilin Kubelet ko Docker suka fara cinye albarkatu fiye da abin da aka tanadar musu.
Don haka, a farkon matakan ƙananan kamfanoni, ƙungiyar Kubernetes na iya yin aiki mai kyau ba tare da saita buƙatun albarkatu da ƙuntatawa ba, amma yayin da ƙungiyoyinku da ayyukanku suka fara girma cikin girman, kuna fuskantar haɗarin shiga cikin matsaloli a wannan yanki. Ƙara tambayoyi da ƙuntatawa ga samfuranku da wuraren suna yana buƙatar ƙarin ƙoƙari kaɗan kuma yana iya adana matsala mai yawa.

Kubernetes mafi kyawun ayyuka. Madaidaicin kashewa Ƙarshe

Wasu tallace-tallace 🙂

Na gode da kasancewa tare da mu. Kuna son labaran mu? Kuna son ganin ƙarin abun ciki mai ban sha'awa? Goyon bayan mu ta hanyar ba da oda ko ba da shawara ga abokai, girgije VPS don masu haɓakawa daga $ 4.99, analog na musamman na sabar matakin shigarwa, wanda mu muka ƙirƙira muku: Duk gaskiyar game da VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps daga $19 ko yadda ake raba sabar? (akwai tare da RAID1 da RAID10, har zuwa 24 cores kuma har zuwa 40GB DDR4).

Dell R730xd 2x mai rahusa a cibiyar bayanan Equinix Tier IV a Amsterdam? Nan kawai 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV daga $199 a cikin Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - daga $99! Karanta game da Yadda ake gina Infrastructure Corp. aji tare da amfani da sabar Dell R730xd E5-2650 v4 masu darajan Yuro 9000 akan dinari?

source: www.habr.com

Add a comment