Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
Ukuze wazi ngokugcwele i-Kubernetes, udinga ukwazi izindlela ezahlukene zokukala izinsiza zeqoqo: ngokusho konjiniyela besistimuLena enye yezinhloso eziphambili ze-Kubernetes. Silungiselele ukubuka konke kweleveli ephezulu yezindlela zokuzenzakalela ezivundlile neziqondile kanye nezinqubo zokushintsha usayizi weqoqo, kanye nezincomo zokuthi zisetshenziswa kanjani ngempumelelo.

Isihloko I-Kubernetes Autoscaling 101: I-Cluster Autoscaler, i-Horizontal Autoscaler, ne-Vertical Pod Autoscaler okuhunyushwe ithimba elenze i-autoscaling in I-Kubernetes aaS evela ku-Mail.ru.

Kungani kubalulekile ukucabangela ukukala

Kubernetes - ithuluzi lokuphatha izinsiza kanye nokucula. Kunjalo, kuhle ukuhlola izici ezinhle zokuthunyelwa, ukuqapha, nokuphathwa kwe-pod (i-pod iyiqembu leziqukathi ezethulwe ukuphendula isicelo).

Nokho, kufanele futhi ucabange ngale mibuzo elandelayo:

  1. Indlela yokukala amamojula nezinhlelo zokusebenza?
  2. Ungagcina kanjani iziqukathi zisebenza kahle futhi zisebenza kahle?
  3. Ungasabela kanjani ezinguqukweni eziqhubekayo zekhodi nemithwalo yomsebenzi yabasebenzisi?

Ukulungisa amaqoqo e-Kubernetes ukuze alinganisele izinsiza nokusebenza kungase kube nzima futhi kudinga ulwazi lochwepheshe lokusebenza kwangaphakathi kuka-Kubernetes. Umthwalo womsebenzi wesicelo sakho noma amasevisi ungashintshashintsha usuku lonke noma ihora, ngakho ukulinganisa kucatshangwa kangcono njengenqubo eqhubekayo.

I-Kubernetes Autoscaling Tiers

I-autoscaling ephumelelayo idinga ukusebenzisana phakathi kwamaleveli amabili:

  1. Isendlalelo se-pod sihlanganisa okuvundlile (Horizontal Pod Autoscaler, HPA) kanye nokuma mpo (Vertical Pod Autoscaler, VPA) autoscaling. Lokhu kukala izinsiza ezitholakalayo zeziqukathi zakho.
  2. Izinga leqoqo liphethwe i-Cluster Autoscaler (CA), enyusa noma enciphisa inani lamanodi ngaphakathi kweqoqo.

Imojula ye-Horizontal Power Autoscaling (HPA).

Njengoba igama liphakamisa, i-HPA ikala inani lama-pod replicas. Amasistimu amaningi we-DevOps asebenzisa i-CPU nomthwalo wememori njengezingcupho zokushintsha inani lezifaniso. Nokho, kungenzeka ukukala uhlelo ngokusekelwe amamethrikhi womsebenzisi, yabo inhlanganisela noma ngisho amamethrikhi angaphandle.

Umdwebo wezinga eliphezulu wendlela i-HPA esebenza ngayo:

  1. I-HPA ihlola ngokuqhubekayo amanani emethrikhi ashiwo ngesikhathi sokufakwa ngesikhawu esizenzakalelayo samasekhondi angama-30.
  2. I-HPA izama ukwandisa inani lamamojula uma umkhawulo oshiwo ufinyelelwa.
  3. I-HPA ibuyekeza inani lezifaniso ngaphakathi kwesilawuli sokusebenzisa/ukuphindaphinda.
  4. Isilawuli sokuphakela/ukuphindaphinda sibe sesisebenzisa noma imaphi amamojula adingekayo angeziwe.

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
I-HPA icupha inqubo yokuphakelwa kwemojuli lapho umkhawulo wemethrikhi ufinyelelwa

Uma usebenzisa i-HPA, cabanga ngalokhu okulandelayo:

  • Isikhawu sokuhlola se-HPA esizenzakalelayo amasekhondi angu-30. Ibekwe ngefulegi ovundlile-pod-autoscaler-sync-period kumphathi wesilawuli.
  • Iphutha lesihlobo esizenzakalelayo ngu-10%.
  • Ngemuva kokwenyuka kokugcina kwenani lamamojula, i-HPA ilinda amamethrikhi ukuthi azinze imizuzu emithathu. Lesi sikhawu sisethwa ifulegi ovundlile-pod-autoscaler-upscale-ukubambezeleka.
  • Ngemuva kokwehliswa kokugcina kwenani lamamojula, i-HPA ilinda ukuzinza imizuzu emihlanu. Lesi sikhawu sisethwa ifulegi ovundlile-pod-autoscaler-downscale-ukubambezeleka.
  • I-HPA isebenza kahle kakhulu ngezinto ezisatshalaliswa kunezilawuli zokuphindaphinda. Ukulinganisa okuzenzakalelayo okuvundlile akuhambisani nezibuyekezo eziphumayo, ezikhohlisa izilawuli zokuphindaphinda ngokuqondile. Ngesikhathi sokuthunyelwa, inani lama-replicas lincike ngokuqondile ezintweni zokuthunyelwa.

Ukulinganisa okuzenzakalelayo kwe-pod

I-Vertical Autoscaling (VPA) yabela i-CPU eyengeziwe (noma ngaphansi) noma inkumbulo kuma-pod akhona. Isebenzela kokubili ama-pod anesithunzi nangenasimo, kodwa ngokuyinhloko ihloselwe izinkonzo eziphakeme. Kodwa-ke, ungasebenzisa futhi i-VPA kuma-pods angenasimo uma udinga ukulungisa ngokuzenzakalelayo ukwabiwa kwensiza yokuqala.

I-VPA iphinde iphendule kumicimbi ye-OOM (ephelelwe yinkumbulo). Ukushintsha isikhathi se-CPU nenkumbulo kudinga ukuqala kabusha kwe-pod. Ngesikhathi sokuqalisa kabusha, i-VPA ithobela isabelomali sokwabiwa (Isabelomali sokusabalalisa ama-pods (PDB)) ukuze kuqinisekiswe inani elincane elidingekayo lamamojula.

Ungasetha inani elincane kanye nenani eliphezulu lokwabiwa kwensiza ku-pod ngayinye. Isibonelo, ungakhawulela isabelo sememori esiphezulu sibe ngu-8 GB. Lokhu kuyasiza uma ama-node amanje engakwazi ukwaba inkumbulo engaphezu kuka-8 GB esitsheni ngasinye. Ukucaciswa okuningiliziwe kanye nendlela yokusebenza kuchazwe ku i-VPA wiki esemthethweni.

Ukwengeza, i-VPA inesici sokuncoma esithokozisayo (I-VPA Recommender). Iqapha ukusetshenziswa kwensiza kanye nemicimbi ye-OOM yawo wonke ama-pods ukuze iphakamise inkumbulo entsha nokwabiwa kwe-CPU ngokusekelwe ku-algorithm ehlakaniphile namamethrikhi omlando. Kukhona ne-API eyamukela isichazi se-pod futhi ibuyisele ukwabiwa kwensiza okuphakanyisiwe.

Kuhle ukuqaphela ukuthi i-VPA Recommender ayiqapheli imikhawulo yensiza. Lokhu kungaholela ekutheni izinsiza zemojula zibe monopolizing ngaphakathi kwamanodi. Kungcono kakhulu ukusetha umkhawulo ezingeni lendawo yamagama ukuze ugweme inkumbulo eningi noma ukusetshenziswa kwe-CPU.

Umdwebo wezinga eliphezulu wendlela i-VPA esebenza ngayo:

  1. I-VPA ihlola ngokuqhubekayo amanani emethrikhi ashiwo phakathi nokufakwa ngesikhawu esizenzakalelayo samasekhondi ayi-10.
  2. Uma umkhawulo oshiwo ufinyelelwa, i-VPA izama ukushintsha inani elinikeziwe lezinsiza.
  3. I-VPA ibuyekeza isibalo sensiza ngaphakathi kwesilawuli sokusebenzisa/ukuphindaphinda.
  4. Uma amamojula eqalwa kabusha, zonke izinsiza ezintsha zisetshenziswa kuzimo ezidaliwe.

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
I-VPA yengeza inani elidingekayo lezinsiza

Sicela ucabangele amaphuzu alandelayo lapho usebenzisa i-VPA:

  • Ukukala kudinga ukuqala kabusha kwe-pod okuyisibopho. Lokhu kuyadingeka ukuze ugweme ukungazinzi ngemva kokwenza izinguquko. Ukuqinisekisa ukwethembeka, ama-pods aqalwa kabusha futhi asatshalaliswa kuwo wonke ama-node ngokusekelwe kuzinsiza ezisanda kunikezwa.
  • I-VPA ne-HPA azikasebenzisani futhi azikwazi ukusebenza kumaphodi afanayo. Uma usebenzisa zombili izindlela zokukala kuqoqo elifanayo, qinisekisa ukuthi izilungiselelo zivimbela ukuthi zisebenze ezintweni ezifanayo.
  • I-VPA ilungisa izicelo zensiza yesiqukathi ngokusekelwe kuphela ekusetshenzisweni komlando nokwamanje. Ayibeki imikhawulo yokusetshenziswa kwensiza. Lokhu kungase kuholele ezinkingeni ngezinhlelo zokusebenza ezisebenza ngokungalungile kanye nokudonsa izinsiza ezihlala zikhula, okuholela ekutheni uKubernetes avale i-pod.
  • I-VPA isesigabeni sokuqala sokuthuthuka. Sicela uqaphele ukuthi isistimu ingase ibe nezinguquko esikhathini esizayo esiseduze. Ungafunda kabanzi mayelana ukulinganiselwa okwaziwayo и izinhlelo zentuthukoNgakho, izinhlelo zihlanganisa ukuqalisa ukusebenza ngokuhlanganyela kwe-VPA ne-HPA, kanye nokuthunyelwa kwamamojula kanye nenqubomgomo ye-autoscaling eqondile yawo (isibonelo, ilebula ekhethekile 'idinga i-VPA').

I-Kubernetes Cluster Autoscaling

I-Cluster Autoscaler (CA) ilungisa inani lamanodi ngokusekelwe enanini lamaphodi alindile. Isistimu ngezikhathi ezithile ihlola ama-pods alindile futhi ikhulise usayizi weqoqo uma izinsiza ezengeziwe zidingeka futhi iqoqo lihlala lingaphakathi kwemikhawulo yalo emisiwe. I-CA ixhumana nomhlinzeki wamafu, icela ama-node engeziwe, noma ikhiphe angenalutho. Inguqulo yokuqala etholakala ngokuvamile ye-CA ikhishwe ku-Kubernetes 1.8.

Umdwebo wezinga eliphezulu wendlela i-CA esebenza ngayo:

  1. I-CA ihlola amamojula asesimweni sokulinda ngesikhawu esizenzakalelayo samasekhondi ayi-10.
  2. Uma i-pod eyodwa noma ngaphezulu isesimweni sokulinda ngenxa yokuthi iqoqo alinazo izinsiza ezanele zokuwabela, lizama ukunikeza enye noma ngaphezulu inodi eyengeziwe.
  3. Uma umhlinzeki wamafu esenikeze i-node edingekayo, ijoyina iqoqo futhi ilungele ukunikeza ama-pods.
  4. Umhleli we-Kubernetes unikeza ama-pods alindile endaweni entsha. Uma amanye ama-pods ehlala elindile, inqubo iyaphinda, futhi ama-node amasha ayengezwa kuqoqo.

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
Ukunikezwa okuzenzakalelayo kwamanodi eqoqo emafini

Sicela ucabangele okulandelayo uma usebenzisa i-CA:

  • I-CA iqinisekisa ukuthi wonke amamojula kuqoqo anesikhala sokusebenza, kungakhathaliseki ukuthi i-CPU ithwele kangakanani. Izama futhi ukuqinisekisa ukuthi awekho amanodi angadingekile kuqoqo.
  • I-CA ibhalisa isidingo sokukala cishe ngemva kwemizuzwana engama-30.
  • Ngemuva kokuthi i-node ingadingeki, i-CA ilinda imizuzu eyi-10 ngokuzenzakalelayo ngaphambi kokukala uhlelo.
  • Uhlelo lwe-autoscaling lusebenzisa umqondo wokunweba. Lawa ngamasu ahlukene okukhetha iqembu lamanodi okuzongezwa kulo amasha.
  • Sebenzisa inketho ngokuzibophezela cluster-autoscaler.kubernetes.io/safe-to-evict (iqiniso)Uma ufaka ama-pods amaningi, noma uma amaningi awo ehlakazekile kuwo wonke ama-node, uzolahlekelwa kakhulu amandla okukhipha iqoqo.
  • Sebenzisa I-PodDisruptionBudgetsukuze uvimbele ukukhishwa kwama-pods, okungabangela ingxenye yohlelo lwakho lokusebenza ukuthi yehluleke ngokuphelele.

I-Kubernetes autoscaling systems isebenzisana kanjani

Ukuze kuzwane kahle, ukusika ngokuzenzakalela kufanele kusetshenziswe kukho kokubili i-pod (HPA/VPA) namazinga eqoqo. Bahlanganyela kalula nje:

  1. I-HPA noma i-VPA ibuyekeza ama-pod replicas noma izinsiza ezinikezwe ama-pod akhona.
  2. Uma engekho ama-node anele ukwenza ukukala okuhleliwe, i-CA iyaqaphela ukuthi kukhona ama-pods asesimweni sokulinda.
  3. I-CA yabela ama-node amasha.
  4. Amamojula asatshalaliswa kuwo wonke ama-node amasha.

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
I-Kubernetes Collaborative Scaling System

Amaphutha Ajwayelekile ku-Kubernetes Autoscaling

Kunezinkinga ezimbalwa ezijwayelekile amaqembu e-DevOps abhekana nazo lapho ezama ukusebenzisa i-autoscaling.

I-HPA ne-VPA incike kumamethrikhi nedatha ethile yomlando. Uma izinsiza ezinganele zinikezwa, amamojula azovalwa futhi ngeke akwazi ukukhiqiza amamethrikhi. Kulokhu, i-autoscaling ngeke ize yenzeke.

Umsebenzi wokukala ngokwawo uzwela isikhathi. Sifuna ama-pods kanye neqoqo likhule ngokushesha—ngaphambi kokuba abasebenzisi babone noma yiziphi izinkinga noma ukwehluleka. Ngakho-ke, isilinganiso se-pod nesikhathi sokukala seqoqo kufanele sicatshangelwe.

Isimo esifanelekile - imizuzu emi-4:

  1. 30 imizuzwana. Isibuyekezo samamethrikhi aqondiwe: amasekhondi angu-30-60.
  2. 30 imizuzwana. I-HPA ihlola amanani wemethrikhi: imizuzwana engama-30.
  3. Ngaphansi kwamasekhondi angu-2. Ama-pods ayadalwa futhi angena esimweni sokungenzi lutho: isekhondi elingu-1.
  4. Ngaphansi kwamasekhondi angu-2. I-CA ibona amamojula alindile futhi ikhipha izingcingo zokulungiselela izindawo: isekhondi elingu-1.
  5. 3 amaminithi. Umhlinzeki wamafu wabela amanodi. Ama-K8 alinda aze alunge: kufika emaminithini ayi-10 (kuye ngezici eziningana).

Isimo esibi kakhulu (esingokoqobo) - imizuzu eyi-12:

  1. 30 imizuzwana. Ibuyekeza amamethrikhi aqondiwe.
  2. 30 imizuzwana. I-HPA ihlola amanani wemethrikhi.
  3. Ngaphansi kwamasekhondi angu-2. Ama-pods ayadalwa futhi angena esimweni sokulinda.
  4. Ngaphansi kwamasekhondi angu-2. I-CA ibona amamojula alindile futhi ithumela izingcingo ukulungisa amanodi.
  5. Imizuzu eyi-10. Umhlinzeki wamafu wabela amanodi. Ama-K8 alinda aze alunge. Isikhathi sokulinda sincike ezintweni ezimbalwa, ezifana nokubambezeleka komhlinzeki, ukubambezeleka kwe-OS, kanye nokusebenza kwamathuluzi asekelayo.

Ungaphambanisi izindlela zokukala zabahlinzeki bamafu ne-CA yethu. Lokhu kokugcina kusebenza ngaphakathi kweqoqo le-Kubernetes, kuyilapho indlela yomhlinzeki wamafu isebenza ngokusekelwe ekwabiweni kwamanodi. Akwazi ukuthi kwenzakalani ngama-pods noma uhlelo lwakho lokusebenza. Lezi zinhlelo zisebenza ngokuhambisana.

Ungakuphatha kanjani ukukala ku-Kubernetes

  1. I-Kubernetes iyithuluzi lokuphatha insiza kanye ne-orchestration. Imisebenzi yokuphathwa kwezinsiza ze-Pod neqoqo kuyingqopha-mlando ekuqondeni i-Kubernetes.
  2. Qonda umqondo ongemuva kokulinganisa kwe-pod okusekelwe ku-HPA ne-VPA.
  3. I-CA kufanele isetshenziswe kuphela uma uziqonda kahle izidingo zamapod neziqukathi zakho.
  4. Ukuze ulungiselele kahle iqoqo, udinga ukuqonda ukuthi amasistimu wokukala ahlukene asebenza kanjani ndawonye.
  5. Lapho ulinganisela isikhathi sokukala, khumbula izimo ezimbi kakhulu nezingcono kakhulu.

Source: www.habr.com

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster