I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

I-Kubernetes imikhuba ehamba phambili. Ukwakha iziqukathi ezincane
I-Kubernetes imikhuba ehamba phambili. Inhlangano ye-Kubernetes enendawo yamagama
I-Kubernetes imikhuba ehamba phambili. Ukuqinisekisa I-Kubernetes Liveness nge-Readiness and Liveness Tests

Ngosizo ngalunye lwe-Kubernetes, ungamisa izinhlobo ezimbili zezimfuneko - Izicelo Nemikhawulo. Eyokuqala ichaza izidingo eziyisisekelo zokutholakala kwezinsiza zamahhala ze-node ezidingekayo ukuze kuqhutshwe isitsha noma i-pod, eyesibili ikhawulela ngokuqinile izinsiza ezitholakalayo esitsheni.

Lapho u-Kubernetes ehlela ama-pods, kubaluleke kakhulu ukuthi iziqukathi zibe nezinsiza ezanele ukuze zisebenze kahle. Uma uhlela ukuphakela uhlelo lokusebenza olukhulu endaweni enezisetshenziswa, kungenzeka ukuthi ngeke lusebenze ngoba i-node iphelelwa inkumbulo noma iphelelwa amandla e-CPU. Kulesi sihloko, sizobheka ukuthi ungakuxazulula kanjani ukushoda kwamandla wekhompyutha usebenzisa izicelo zezinsiza nemikhawulo.

Izicelo Nemikhawulo yizindlela ezisetshenziswa u-Kubernetes ukuphatha izinsiza ezifana ne-CPU nenkumbulo. Izicelo yizona eziqinisekisa ukuthi isiqukathi sithola insiza eceliwe. Uma isiqukathi sicela insiza, i-Kubernetes izoyihlela kuphela endaweni engayinikeza. Imikhawulo ilawula ukuthi izinsiza ezicelwe isiqukathi azisoze zeqa inani elithile.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Isiqukathi singakhuphula kuphela amandla aso okwenza ikhompuyutha afike kumkhawulo othile, ngemva kwalokho sizobe sikhawulelwe. Ake sibone ukuthi kusebenza kanjani. Ngakho, kunezinhlobo ezimbili zezinsiza - iprosesa nememori. Umhleli we-Kubernetes usebenzisa idatha emayelana nalezi zinsiza ukuthola ukuthi ungawaqhuba kuphi ama-pods akho. Ukucaciswa kwensiza okujwayelekile kwe-pod kubukeka kanje.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Isiqukathi ngasinye esikuphod singasetha imibuzo nemikhawulo yaso, konke kuyisengezo. Izinsiza zeprosesa zichazwa ngama-millicores. Uma isiqukathi sakho sidinga ama-cores amabili agcwele ukuze sisebenze, usetha inani libe ngu-2000m. Uma isiqukathi sidinga kuphela amandla angu-1/4 wengqikithi, inani lizoba ngu-250m. Khumbula ukuthi uma unikeza inani lensiza ye-CPU enkulu kunenombolo yama-cores enodi enkulu, i-pod yakho ngeke ihlelelwe ukuqala kwanhlobo. Isimo esifanayo sizokwenzeka uma une-Pod edinga ama-cores amane, futhi iqoqo le-Kubernetes linemishini emibili eyinhloko kuphela.

Ngaphandle kwalapho uhlelo lwakho lokusebenza luklanyelwe ngokukhethekile ukusizakala ngama-cores amaningi (izinhlelo ezifana nekhompuyutha yesayensi eyinkimbinkimbi nokusebenza kwesizindalwazi kuyafika engqondweni), khona-ke umkhuba ongcono kakhulu uwukusetha Izicelo ze-CPU zibe 1 noma zehlise bese usebenzisa izifaniso ezengeziwe ukuze zilinganiswe. Lesi sixazululo sizonikeza uhlelo ukuguquguquka okukhulu nokuthembeka.

Uma kukhulunywa ngemikhawulo ye-CPU, izinto ziba mnandi kakhulu njengoba ithathwa njengesisetshenziswa esicindezelayo. Uma uhlelo lwakho lokusebenza luqala ukusondela emkhawulweni wamandla wephrosesa, i-Kubernetes izoqala ukwehlisa isiqukathi sakho isebenzisa i-CPU Throttling - inciphisa imvamisa yephrosesa. Lokhu kusho ukuthi i-CPU izocindezelwa ngokuzenzakalelayo, okunikeze uhlelo lokusebenza amandla okusebenza okubi kakhulu, kodwa inqubo ngeke inqanyulwe noma ikhishwe.

Izinsiza zememori zichazwa ngamabhayithi. Ngokuvamile inani kuzilungiselelo likalwa ngama-mebibytes Mib, kodwa ungasetha noma yiliphi inani, ukusuka kumabhayithi ukuya kuma-petabytes. Isimo esifanayo sisebenza lapha njenge-CPU - uma ufaka isicelo senani lememori elikhulu kunenani lememori kumanodi akho, leyo pod ngeke ihlelelwe ukusebenza. Kodwa ngokungafani nezinsiza ze-CPU, inkumbulo ayicindezelwa ngoba ayikho indlela yokukhawulela ukusetshenziswa kwayo. Ngakho-ke, ukwenziwa kwesiqukathi kuzomiswa ngokushesha nje lapho kudlula inkumbulo eyabelwe yona.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Kubalulekile ukukhumbula ukuthi awukwazi ukumisa izicelo ezeqa izinsiza ezinganikezwa amanodi akho. Imininingwane yensiza okwabelwana ngayo yemishini ebonakalayo ye-GKE ingatholakala kuzixhumanisi ezingezansi kwale vidiyo.

Emhlabeni okahle, izilungiselelo ezizenzakalelayo zesiqukathi zizokwanela ukugcina ukugeleza komsebenzi kusebenza kahle. Kodwa umhlaba wangempela awunjalo, abantu bangakhohlwa kalula ukulungisa ukusetshenziswa kwezinsiza, noma abaduni bazobeka izicelo nemingcele edlula amandla wangempela engqalasizinda. Ukuze uvimbele izimo ezinjalo ukuthi zenzeke, ungamisa i-ResourceQuota kanye nezilinganiso zensiza ye-LimitRange.

Uma isikhala segama sesidaliwe, singavinjwa kusetshenziswa ama-quota. Isibonelo, uma unezikhala zegama ze-prod ne-dev, iphethini ukuthi awekho nhlobo ama-quota okukhiqiza kanye nezilinganiso zokuthuthukiswa eziqine kakhulu. Lokhu kuvumela i-prod, uma kwenzeka ukwanda okubukhali kwethrafikhi, ukuthi ithathe yonke insiza etholakalayo, ivimbe ngokuphelele i-dev.

Isabelo sensiza singabukeka kanje. Kulesi sibonelo kunezigaba ezi-4 - lezi yimigqa emi-4 engezansi yekhodi.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Ake sibheke ngayinye yazo. I-Request.cpu inombolo enkulu yezicelo ze-CPU ezihlanganisiwe ezingavela kuzo zonke iziqukathi ezisesikhaleni samagama. Kulesi sibonelo, ungaba neziqukathi ezingu-50 ezinezicelo ze-10m, iziqukathi ezinhlanu ezinezicelo ze-100m, noma isiqukathi esisodwa esinezicelo ezingu-500m. Inqobo nje uma isamba senani le-applications.cpu yendawo yegama enikeziwe ingaphansi kuka-500m, yonke into izolunga.

I-Memory requested requests.memory inani eliphakeme lezicelo zememori ezihlanganisiwe zonke iziqukathi ezisesikhaleni samagama ezingaba nazo. Njengasesimeni sangaphambilini, ungaba neziqukathi ezingu-50 2 mib, iziqukathi ze-mib ezinhlanu, noma isiqukathi esisodwa se-20 mib inqobo nje uma inani eliphelele lememori eliceliwe endaweni yegama lingaphansi kwama-mebibytes ayi-100.

I-Limits.cpu iyinani eliphezulu elihlanganisiwe lamandla e-CPU wonke iziqukathi ezisesikhaleni samagama ezingase zisetshenziswe. Lokhu singakubheka njengomkhawulo wezicelo zamandla okucubungula.

Okokugcina, i-limis.memory iyinani eliphakeme lememori eyabelwe wonke iziqukathi ezisendaweni yamagama ezingase zisetshenziswe. Lona umkhawulo wenani lezicelo zememori.
Ngakho-ke, ngokuzenzakalelayo, iziqukathi zeqoqo le-Kubernetes zisebenza ngezinsiza zekhompyutha ezingenamkhawulo. Ngezabelo zensiza, abalawuli beqoqo bangakhawulela ukusetshenziswa kwensiza nokudalwa kwensiza ngokusekelwe endaweni yamagama. Esikhaleni samagama, i-pod noma isiqukathi singadla amandla amaningi e-CPU nenkumbulo njengoba kunqunywa isabelo sensiza ye-namespace. Nokho, kunokukhathazeka ngokuthi iphodi eyodwa noma isiqukathi singaphatha zonke izinsiza ezitholakalayo. Ukuvimbela lesi simo, ububanzi bomkhawulo busetshenziswa - inqubomgomo yokukhawulela ukwabiwa kwezinsiza (ama-pods noma iziqukathi) endaweni yamagama.

Ibanga lomkhawulo linikeza imikhawulo enga:

  • Ukuqinisekisa ukusetshenziswa okuncane nobuningi bezinsiza zekhompuyutha zemojuli ngayinye noma isiqukathi esisendaweni yamagama;
  • ukuphoqelela ubuncane kanye nobukhulu bezicelo ze-Starage Isicelo sesitoreji se-PersistentVolumeClaim ngayinye endaweni yamagama;
  • ukuphoqelela ubudlelwano phakathi kwesicelo kanye Nomkhawulo wensiza endaweni yamagama;
  • setha okuzenzakalelayo Izicelo/Imikhawulo yezinsiza zokubala endaweni yamagama futhi uzijove ngokuzenzakalelayo ezitsheni ngesikhathi sokusebenza.

Ngale ndlela ungakha ububanzi obulinganiselwe endaweni yakho yamagama. Ngokungafani nesabelo, esisebenza kuyo yonke indawo yamagama, Ibanga Elikhawulelwe lisetshenziselwa iziqukathi ngazinye. Lokhu kungavimbela abasebenzisi ekudaleni iziqukathi ezincane kakhulu noma, ngokuphambene, ezinkulu ngaphakathi kwendawo yamagama. I-Limit Range ingase ibukeke kanje.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Njengasesikhathini esidlule, izigaba ezi-4 zingahlukaniswa lapha. Ake sibheke ngayinye.
Isigaba esimisiwe sibeka imikhawulo yokuzenzakalelayo yesiqukathi esikuphod. Uma usetha lawa manani ebangeni elidlulele, noma yiziphi iziqukathi ezingasethwanga ngokusobala lawa manani azolandela amanani azenzakalelayo.

Isigaba sesicelo esizenzakalelayo se-defaultRequest silungiselela izicelo ezizenzakalelayo zesiqukathi esiku-pod. Futhi, uma usetha lawa manani ebangeni elidlulele, noma yiziphi iziqukathi ezingasethi ngokusobala lezi zinketho zizozenzakalelayo kulawa manani.

Isigaba esikhulu sicacisa imikhawulo ephezulu engasethwa esiqukathi esiku-pod. Amanani esigabeni esizenzakalelayo kanye nemikhawulo yesiqukathi ayikwazi ukusethwa ngaphezu kwalo mkhawulo. Kubalulekile ukuqaphela ukuthi uma inani lisethelwe kubukhulu futhi singekho isigaba esimisiwe, inani eliphakeme liba inani elizenzakalelayo.

Isigaba esincane sicacisa ubuncane bezicelo ezingasethwa esitsheni kuphod. Kodwa-ke, amanani esigabeni esimisiwe kanye nemibuzo yesiqukathi ayikwazi ukumiswa ngaphansi kwalo mkhawulo.

Futhi, kubalulekile ukuqaphela ukuthi uma leli nani lisethiwe, okuzenzakalelayo akunjalo, khona-ke inani elincane liba ukwaziswa okuzenzakalelayo.

Lezi zicelo zezinsiza ekugcineni zisetshenziswa umhleli we-Kubernetes ukwenza umthwalo wakho wokusebenza. Ukuze uhlele kahle iziqukathi zakho, kubaluleke kakhulu ukuqonda ukuthi zisebenza kanjani. Ake sithi ufuna ukusebenzisa ama-pod amaningi kuqoqo lakho. Uma kucatshangwa ukuthi ukucaciswa kwe-pod kuvumelekile, ishejuli ye-Kubernetes izosebenzisa ukulinganisa kwe-robin eyindilinga ukuze ikhethe i-node ukuze iqalise umsebenzi.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

I-Kubernetes izohlola ukuthi i-Node 1 inezinsiza ezanele zokufeza izicelo ezivela ezitsheni ze-pod, futhi uma ingenayo, izodlulela endaweni elandelayo. Uma engekho amanodi ohlelweni ekwazi ukwanelisa izicelo, ama-pods azongena kusimo esilindile. Isebenzisa izici zenjini ye-Google Kubernetes ezifana ne-node autoscaling, i-GKE ingabona ngokuzenzakalelayo isimo sokulinda futhi idale amanye ama-node ambalwa.

Uma kamuva uphelelwa umthamo wama-node, i-autoscaling izonciphisa inani lamanodi ukuze wonge imali. Yingakho i-Kubernetes ihlela ama-pods ngokusekelwe ezicelweni. Kodwa-ke, umkhawulo ungaba phezulu kunezicelo, futhi kwezinye izimo i-node ingase iphelelwe yizinsiza. Lesi simo sikubiza ngokuthi isimo sokuzibophezela ngokweqile.

I-Kubernetes imikhuba ehamba phambili. Ukusetha izicelo zensiza kanye nemikhawulo

Njengoba ngishilo, uma kukhulunywa nge-CPU, i-Kubernetes izoqala ukukhawulela ama-pods. I-pod ngayinye izothola okuningi njengoba bekucelile, kodwa uma ingafinyeleli umkhawulo, i-throttling izoqala ukusebenza.

Uma kukhulunywa ngezinsiza zememori, u-Kubernetes uphoqeleka ukuthi enze izinqumo mayelana nokuthi yiziphi izigxobo okufanele zisuswe nokuthi yiziphi okufanele zigcinwe kuze kube yilapho ukhulula izinsiza zesistimu noma lonke uhlelo luzophahlazeka.

Ake sicabange ngesimo lapho unomshini ophelelwa yinkumbulo - u-Kubernetes angakuphatha kanjani lokho?

AbakwaKubernetes bazobheka ama-pods asebenzisa izinsiza eziningi kunalokho abebekucelile. Ngakho-ke uma iziqukathi zakho zingenazo nhlobo izicelo, lokho kusho ukuthi zisehluleka ukusebenzisa okungaphezu kwalokho ebezikucelile, ngoba nje azizange zicele lutho nhlobo! Iziqukathi ezinjalo ziba amakhandidethi aphambili okuvalwa. Abalandelayo bangamakhonteyina anelise zonke izicelo zabo kodwa asengaphansi komkhawulo omkhulu.

Ngakho-ke uma i-Kubernetes ithola ama-pods ambalwa adlule imingcele yesicelo, izowahlunga ngokubalulekile bese isusa ama-pods aphansi kakhulu. Uma wonke ama-pods enokubaluleka okufanayo, khona-ke i-Kubernetes izoqeda lawo ma-pods adlula izicelo zawo ngaphezu kwamanye ama-pods.

Ezimweni ezingavamile kakhulu, u-Kubernetes angase akhiphe ama-pods asengaphakathi kwesicelo sabo. Lokhu kungenzeka uma izingxenye zesistimu ezibucayi ezifana ne-ejenti ye-Kubelet noma i-Docker ziqala ukusebenzisa izinsiza eziningi kunalokho ebezigcinelwe zona.
Ngakho-ke, ezigabeni zokuqala zezinkampani ezincane, iqoqo le-Kubernetes lingasebenza kahle ngaphandle kokubeka izicelo nemikhawulo yezinsiza, kodwa njengoba amaqembu akho namaphrojekthi eqala ukukhula ngosayizi, ubeka ingozi yokubhekana nezinkinga kule ndawo. Ukwengeza imibuzo nezingqinamba kumamojula akho nasezindaweni zamagama kudinga umzamo owengeziwe omncane kakhulu futhi kungasindisa ubunzima obuningi.

I-Kubernetes imikhuba ehamba phambili. Ukuvala shaqa okulungile Qeda

Ezinye izikhangiso πŸ™‚

Siyabonga ngokuhlala nathi. Uyazithanda izindatshana zethu? Ufuna ukubona okuqukethwe okuthakaselayo okwengeziwe? Sisekele ngokufaka i-oda noma ngokuncoma kubangani, I-VPS yefu yonjiniyela kusuka ku-$4.99, i-analogue ehlukile yamaseva ezinga lokungena, esungulwe yithi ngenxa yakho: Lonke iqiniso nge-VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kusuka ku-$19 noma ukwabelana ngeseva? (itholakala nge-RAID1 kanye ne-RAID10, kufika kuma-cores angu-24 kuze kufike ku-40GB DDR4).

I-Dell R730xd 2x ishibhile esikhungweni sedatha se-Equinix Tier IV e-Amsterdam? Lapha kuphela 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kusukela ku-$199 eNetherlands! I-Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - isuka ku-$99! Funda mayelana Indlela yokwakha ingqalasizinda corp. ikilasi ngokusetshenziswa kwe-Dell R730xd E5-2650 v4 amaseva abiza u-9000 euros ngepeni?

Source: www.habr.com

Engeza amazwana