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 ezihlukene zokukala izinsiza zeqoqo: nge ngokusho konjiniyela besistimu, lona omunye wemisebenzi eyinhloko ye-Kubernetes. Sinikeze umbono wezinga eliphezulu wezindlela zokuzenzakalela ezivundlile nezime mpo kanye nezinhlelo 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 ukucabanga mayelana nokukala

Kubernetes - ithuluzi lokuphathwa kwezinsiza kanye ne-orchestration. Vele, kuhle ukuhlola izici ezipholile zokuthumela, ukuqapha, nokuphatha ama-pods (i-pod iyiqembu leziqukathi ezethulwa ukuphendula isicelo).

Nokho, kufanele futhi ucabange ngale mibuzo elandelayo:

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

Ukulungisa amaqoqo e-Kubernetes ukuze alinganisele izinsiza nokusebenza kungaba inselele futhi kudinga ulwazi lochwepheshe lokusebenza kwangaphakathi kwe-Kubernetes. Umthwalo womsebenzi wesicelo sakho noma amasevisi ungashintshashintsha usuku lonke noma ngisho naphakathi nehora, ngakho ukulinganisa kucatshangwa kangcono njengenqubo eqhubekayo.

Amazinga we-autoscaling we-Kubernetes

I-autoscaling ephumelelayo idinga ukusebenzisana phakathi kwamaleveli amabili:

  1. Izinga le-Pod, okuhlanganisa okuvundlile (Horizontal Pod Autoscaler, HPA) kanye nesikali esizenzakalelayo esiqondile (Vertical Pod Autoscaler, VPA). Lokhu ukukala izinsiza ezitholakalayo zeziqukathi zakho.
  2. Ileveli ye-Cluster, ephethwe i-Cluster Autoscaler (CA), enyusa noma enciphisa inani lamanodi ngaphakathi kweqoqo.

Imojula ye-Horizontal Autoscaler (HPA).

Njengoba igama liphakamisa, i-HPA ikala inani lama-pod replicas. Ama-devops amaningi asebenzisa i-CPU nomthwalo wememori njengezingcupho zokushintsha inani lezifaniso. Nokho, kungenzeka ukukala uhlelo ngokusekelwe amamethrikhi angokwezifisoyabo inhlanganisela noma ngisho amamethrikhi angaphandle.

Umdwebo wokusebenza we-HPA wezinga eliphezulu:

  1. I-HPA ihlola ngokuqhubekayo amanani e-metric ashiwo ngesikhathi sokufakwa ngesikhathi esizenzakalelayo samasekhondi angu-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 iqala inqubo yokusebenzisa imojuli 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 ilindele ukuthi amamethrikhi azinze phakathi nemizuzu emithathu. Lesi sikhawu sisethwa ifulegi ovundlile-pod-autoscaler-upscale-ukubambezeleka.
  • Ngemva kokwehliswa kokugcina kwenani lamamojula, i-HPA ilinda imizuzu emihlanu ukuze izinze. Lesi sikhawu sisethwa ifulegi ovundlile-pod-autoscaler-downscale-ukubambezeleka.
  • I-HPA isebenza kahle kakhulu ngezinto ezisatshalaliswa kunezilawuli zokuphindaphinda. Ukulinganisa okuzenzakalelayo okuvundlile akuhambisani nesibuyekezo esigoqayo, esikhohlisa izilawuli zokuphindaphinda ngokuqondile. Ngokusatshalaliswa, inani lama-replicas lincike ngqo ezintweni ezisatshalaliswa.

I-autoscaling eqondile yama-pods

I-Vertical autoscaling (VPA) yabela isikhathi esiningi (noma ngaphansi) se-CPU noma inkumbulo kuma-pod akhona. Ifanele ama-pod anesithunzi noma angenasimo, kodwa ikakhulukazi ehloselwe izinkonzo ezisezingeni eliphezulu. Kodwa-ke, ungasebenzisa futhi i-VPA kumamojula angenasimo uma udinga ukulungisa ngokuzenzakalelayo inani lezinsiza ezabiwe ekuqaleni.

I-VPA iphinde iphendule kumicimbi ye-OOM (ephelelwe yinkumbulo). Ukushintsha isikhathi se-CPU nenkumbulo kudinga ukuqala kabusha ama-pods. Uma iqalwa kabusha, i-VPA ihlonipha isabelomali sokwabiwa (isabelomali sokusabalalisa ama-pods, i-PDB) ukuze kuqinisekiswe inani elincane elidingekayo lamamojula.

Ungasetha izinsiza ezincane nezinkulu zemojuli ngayinye. Ngakho-ke, ungakhawulela inani eliphakeme lememori eyabelwe ku-8 GB. Lokhu kuyasiza uma ama-node amanje engakwazi ngempela ukwaba inkumbulo engaphezu kuka-8 GB esitsheni ngasinye. Ukucaciswa okuningiliziwe kanye nendlela yokusebenza kuchazwe ku i-VPA wiki esemthethweni.

Ngaphezu kwalokho, i-VPA inomsebenzi wokuncoma othokozisayo (I-VPA Recommender). Iqapha ukusetshenziswa kwensiza kanye nemicimbi ye-OOM yawo wonke amamojula ukuze iphakamise inkumbulo entsha namanani esikhathi se-CPU asekelwe ku-algorithm ehlakaniphile esekelwe kumamethrikhi omlando. Kukhona ne-API ethatha isibambo se-pod bese ibuyisela amanani ensiza aphakanyisiwe.

Kuyaqapheleka ukuthi i-VPA Recommender ayilandeleli "umkhawulo" wensiza. Lokhu kungase kuphumele ekutheni izinsiza zemojuli zibe yedwa ngaphakathi kwamanodi. Kungcono ukusetha umkhawulo ezingeni le-namespace ukuze ugweme inkumbulo enkulu noma ukusetshenziswa kwe-CPU.

Uhlelo lokusebenza lwe-VPA lwezinga eliphezulu:

  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 inani lezisetshenziswa ezingaphakathi 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 ugcine amaphuzu alandelayo engqondweni uma usebenzisa i-VPA:

  • Ukukala kudinga ukuqalisa kabusha okuyisibopho kwe-pod. Lokhu kuyadingeka ukuze ugweme ukusebenza okungazinzile ngemva kokwenza izinguquko. Ukuze kuthembeke, amamojula aqalwa kabusha futhi asatshalaliswa kuwo wonke ama-node ngokusekelwe kuzinsiza ezisanda kunikezwa.
  • I-VPA ne-HPA azikasebenzisani futhi azikwazi ukugijima kumaphodi afanayo. Uma usebenzisa zombili izindlela zokukala kuqoqo elifanayo, qiniseka ukuthi izilungiselelo zakho zivimbela ukuthi zisebenze ezintweni ezifanayo.
  • I-VPA ishuna izicelo zesiqukathi sezinsiza ezisuselwe kuphela ekusetshenzisweni kwangaphambilini namanje. Ayibeki imikhawulo yokusetshenziswa kwensiza. Kungase kube nezinkinga ngezinhlelo zokusebenza ezingasebenzi ngendlela efanele futhi ziqala ukuthatha izinsiza ezengeziwe, lokhu kuzoholela eKubernetes ukuvala le pod.
  • I-VPA isesigabeni sokuqala sokuthuthuka. Zilungiselele ukuthi isistimu ingase ibe nezinguquko esikhathini esizayo esiseduze. Ungafunda mayelana ukulinganiselwa okwaziwayo ΠΈ izinhlelo zentuthuko. Ngakho-ke, kunezinhlelo zokuqalisa ukusebenza ngokuhlanganyela kwe-VPA ne-HPA, kanye nokuthunyelwa kwamamojula kanye nenqubomgomo ye-autoscaling eqondile kubo (isibonelo, ilebula ekhethekile 'idinga i-VPA').

Ukukala okuzenzakalelayo kweqoqo le-Kubernetes

I-Cluster Autoscaler (CA) ishintsha inani lamanodi ngokusekelwe enanini lamaphodi alindile. Isistimu ngezikhathi ezithile ihlola amamojula asalindile - futhi ikhulisa usayizi weqoqo uma izinsiza ezengeziwe zidingeka futhi uma iqoqo lingeqi imikhawulo emisiwe. I-CA ixhumana nomhlinzeki wesevisi yefu, icela ama-node engeziwe kuyo, noma ikhiphe angasebenzi. Inguqulo yokuqala etholakala ngokuvamile ye-CA yethulwa ku-Kubernetes 1.8.

Uhlelo lwezinga eliphezulu lokusebenza kwe-SA:

  1. I-CA ihlola amamojula alindile 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 indawo eyengeziwe.
  3. Lapho umhlinzeki wesevisi yefu enikeza i-node edingekayo, ijoyina iqoqo futhi ilungele ukukhonza ama-pods.
  4. Umhleli we-Kubernetes usabalalisa ama-pod alindile endaweni entsha. Uma ngemva kwalokhu amanye amamojula esahlala esesimweni sokulinda, inqubo iyaphindwa futhi amanodi amasha engezwa kuqoqo.

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

Cabangela lokhu okulandelayo uma usebenzisa i-CA:

  • I-CA iqinisekisa ukuthi wonke ama-pods kuqoqo anendawo yokusebenza, kungakhathaliseki ukuthi i-CPU ilayisha kangakanani. Izama futhi ukuqinisekisa ukuthi awekho amanodi angadingekile kuqoqo.
  • I-CA ibhalisa isidingo sokukala cishe ngemva kwemizuzwana engama-30.
  • Uma i-node ingasadingeki, i-CA ishintsha ngokuzenzakalelayo ekulindeni imizuzu eyi-10 ngaphambi kokukhipha uhlelo.
  • Isistimu ye-autoscaling inomqondo wokunweba. Lawa ngamasu ahlukene okukhetha iqembu lamanodi okuzongezwa kulo amanodi 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-PodDisruptionBudgetsukuvimbela ama-pods ukuthi asuswe, okungabangela izingxenye zohlelo lwakho lokusebenza ukuthi ziphuke ngokuphelele.

Indlela ama-autoscaler e-Kubernetes asebenzisana ngayo

Ukuze kuzwane kahle, i-autoscaling kufanele isetshenziswe kukho kokubili ileveli ye-pod (HPA/VPA) kanye nezinga leqoqo. Basebenzisana kalula nje:

  1. Ama-HPA noma ama-VPA abuyekeza ama-pod replicas noma izinsiza ezinikezwe ama-pod akhona.
  2. Uma engekho ama-node anele okukalwa okuhleliwe, i-CA ibona ukuba khona kwama-pods esimweni sokulinda.
  3. I-CA yabela amanodi amasha.
  4. Amamojula asatshalaliswa kumanodi amasha.

Amazinga amathathu we-Autoscaling ku-Kubernetes: Ungawasebenzisa Kanjani Ngokuphumelelayo
Isistimu yokukhipha i-Kubernetes ehlanganyelwe

Amaphutha ajwayelekile ku-Kubernetes autoscaling

Kunezinkinga ezimbalwa ezijwayelekile ama-devops angena kuzo lapho ezama ukusebenzisa i-autoscaling.

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

Umsebenzi wokukala ngokwawo uyazwela ngesikhathi. Sifuna amamojula neqoqo likhule ngokushesha - ngaphambi kokuthi abasebenzisi babone noma yiziphi izinkinga noma ukwehluleka. Ngakho-ke, isikhathi esimaphakathi sokukala ama-pods kanye neqoqo kufanele kucatshangelwe.

Isimo esifanelekile - imizuzu emi-4:

  1. 30 imizuzwana. Buyekeza amamethrikhi aqondiwe: 30βˆ’60 amasekhondi.
  2. 30 imizuzwana. I-HPA ihlola amanani wemethrikhi: imizuzwana engama-30.
  3. Ngaphansi kwamasekhondi angu-2. Ama-pods ayakhiwa futhi aya esimweni sokulinda: isekhondi elingu-1.
  4. Ngaphansi kwamasekhondi angu-2. I-CA ibona amamojula alindile futhi ithumela izingcingo kumanodi wokuhlinzeka: 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. Buyekeza amamethrikhi aqondiwe.
  2. 30 imizuzwana. I-HPA ihlola amanani wemethrikhi.
  3. Ngaphansi kwamasekhondi angu-2. Ama-pods ayakhiwa futhi angena esimweni sokulinda.
  4. Ngaphansi kwamasekhondi angu-2. I-CA ibona amamojula alindile futhi ishaya izingcingo ukuze ihlinzeke ngamanodi.
  5. Imizuzu eyi-10. Umhlinzeki wamafu wabela amanodi. Ama-K8 alinda aze alunge. Isikhathi sokulinda sincike ezintweni ezimbalwa, njengokulibaziseka komthengisi, ukubambezeleka kwe-OS, namathuluzi okusekela.

Ungaphambanisi izindlela zokukala zabahlinzeki bamafu ne-CA yethu. Eyokugcina isebenza ngaphakathi kweqoqo le-Kubernetes, kuyilapho injini yomhlinzeki wamafu isebenza ngesisekelo sokusabalalisa ama-node. Akwazi ukuthi kwenzakalani nge-pods yakho noma uhlelo lokusebenza. Lezi zinhlelo zisebenza ngokuhambisana.

Ungakuphatha kanjani ukukala ku-Kubernetes

  1. I-Kubernetes iyithuluzi lokuphatha insiza kanye ne-orchestration. Ukusebenza kokuphatha ama-pod nezinsiza zeqoqo kuyingqopha-mlando ekuqondeni i-Kubernetes.
  2. Qonda i-logic ye-pod scalability ucabangela i-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

Engeza amazwana