Pod qib, suav nrog kab rov tav (Horizontal Pod Autoscaler, HPA) thiab ntsug autoscaler (Vertical Pod Autoscaler, VPA). Qhov no yog ntsuas cov peev txheej muaj rau koj cov ntim khoom.
Cluster theem, uas yog tswj los ntawm Cluster Autoscaler (CA), uas nce los yog txo tus naj npawb ntawm cov nodes hauv pawg.
Kab rov tav Autoscaler (HPA) module
Raws li lub npe qhia, HPA ntsuas tus naj npawb ntawm cov pod replicas. Feem ntau cov devops siv CPU thiab lub cim xeeb thauj khoom raws li qhov ua rau hloov pauv tus lej. Txawm li cas los xij, nws tuaj yeem ntsuas qhov system raws li kev cai metrics, lawv kev sib xyaws los sis txawm kev ntsuas sab nraud.
High-level HPA daim duab ua haujlwm:
HPA tsis tu ncua xyuas qhov ntsuas qhov ntsuas tau teev tseg thaum lub sijhawm teeb tsa ntawm lub sijhawm ua ntej ntawm 30 vib nas this.
HPA sim ua kom tus lej ntawm cov modules yog tias qhov chaw pib mus txog.
HPA hloov kho tus lej ntawm cov khoom siv rov ua dua nyob rau hauv kev xa tawm / rov ua dua tshiab.
Kev xa tawm / replication maub los ces deploys tej yam tsim nyog ntxiv modules.
Lub sijhawm HPA kuaj lub sijhawm yog 30 vib nas this. Nws yog teem los ntawm tus chij kab rov tav-pod-autoscaler-sync-lub sijhawm nyob rau hauv tus tswj tswj.
Lub neej ntawd txheeb ze yuam kev yog 10%.
Tom qab qhov kawg ntawm cov modules nce, HPA cia siab tias cov metrics yuav ruaj khov nyob rau hauv peb feeb. Lub caij no yog teem los ntawm tus chij kab rov tav-pod-autoscaler-upscale-delay.
Tom qab qhov kawg txo tus naj npawb ntawm modules, HPA tos tsib feeb kom ruaj khov. Lub caij no yog teem los ntawm tus chij kab rov tav-pod-autoscaler-downscale-delay.
HPA ua haujlwm zoo tshaj plaws nrog cov khoom xa tawm es tsis yog cov tswj kev rov ua dua. Kab rov tav autoscaling yog incompatible nrog dov hloov tshiab, uas ncaj qha manipulates replication controllers. Nrog rau kev xa tawm, tus naj npawb ntawm replicas nyob ncaj qha rau ntawm cov khoom xa tawm.
Vertical autoscaling ntawm pods
Vertical autoscaling (VPA) faib ntau (lossis tsawg) CPU sijhawm lossis nco rau cov pods uas twb muaj lawm. Haum rau lub xeev lossis tsis muaj lub xeev cov pods, tab sis feem ntau yog npaj rau cov kev pabcuam hauv xeev. Txawm li cas los xij, koj tseem tuaj yeem siv VPA rau cov qauv tsis muaj lub xeev yog tias koj xav tau hloov kho tus nqi pib faib cov peev txheej.
VPA kuj teb rau OOM (tsis nco qab) cov xwm txheej. Hloov lub sijhawm CPU thiab lub cim xeeb yuav tsum rov pib dua lub pods. Thaum rov pib dua, VPA hwm cov nyiaj faib nyiaj (pods distribution budget, PDB) kom lav qhov tsawg kawg nkaus uas yuav tsum tau muaj cov modules.
Koj tuaj yeem teeb tsa qhov tsawg kawg nkaus thiab qhov siab tshaj plaws rau txhua qhov module. Yog li, koj tuaj yeem txwv qhov siab tshaj plaws ntawm kev faib lub cim xeeb rau 8 GB. Qhov no muaj txiaj ntsig yog tias cov nodes tam sim no tsis tuaj yeem faib ntau dua 8 GB ntawm lub cim xeeb rau ib lub thawv. Cov ncauj lus kom ntxaws specifications thiab kev khiav hauj lwm mechanism yog piav nyob rau hauv official VPA wiki.
Tsis tas li ntawd, VPA muaj cov lus pom zoo txaus siab (VPA Recommender). Nws saib xyuas kev siv peev txheej thiab OOM cov xwm txheej ntawm txhua lub modules los qhia txog lub cim xeeb tshiab thiab CPU lub sijhawm muaj nuj nqis raws li kev txawj ntse algorithm raws li keeb kwm ntsuas. Kuj tseem muaj ib qho API uas siv lub plhaub taum thiab xa rov qab cov peev txheej pom zoo.
Nws tsim nyog sau cia tias VPA Cov Neeg Pom Zoo tsis taug qab cov peev txheej "tso cai". Qhov no yuav ua rau lub module monopolizing cov peev txheej hauv cov nodes. Nws yog qhov zoo dua los teeb tsa qhov txwv ntawm qib namespace kom tsis txhob nco lossis CPU noj.
Cov txheej txheem ua haujlwm siab VPA:
VPA tsis tu ncua xyuas qhov ntsuas qhov ntsuas tau teev tseg thaum lub sijhawm teeb tsa ntawm lub sijhawm ua ntej ntawm 10 vib nas this.
Thov nco ntsoov cov ntsiab lus hauv qab no thaum siv VPA:
Scaling yuav tsum tau rov pib dua ntawm lub pod. Qhov no yog qhov tsim nyog kom tsis txhob ua haujlwm tsis ruaj khov tom qab hloov pauv. Rau kev ntseeg tau, modules tau rov pib dua thiab faib thoob cov nodes raws li kev faib cov peev txheej tshiab.
VPA thiab HPA tseem tsis tau sib haum thiab tsis tuaj yeem khiav ntawm tib lub pods. Yog tias koj siv ob qho tib si scaling mechanisms hauv tib pawg, nco ntsoov tias koj qhov chaw tiv thaiv lawv los ntawm kev qhib rau tib yam khoom.
VPA tunes thawv thov rau cov peev txheej raws li kev siv yav dhau los thiab tam sim no. Nws tsis teev cov kev txwv kev siv. Tej zaum yuav muaj teeb meem nrog cov ntawv thov tsis ua haujlwm kom raug thiab pib siv ntau thiab ntau cov peev txheej, qhov no yuav ua rau Kubernetes tua lub pod no.
Cluster Autoscaler (CA) hloov cov naj npawb ntawm cov nodes raws li tus naj npawb ntawm tos pods. Lub kaw lus tshawb xyuas cov modules tsis tu ncua - thiab ua kom cov pawg loj dua yog tias xav tau cov peev txheej ntxiv thiab yog tias pawg tsis tshaj qhov kev txwv. Lub CA sib txuas lus nrog cov chaw muab kev pabcuam huab, thov cov nodes ntxiv los ntawm nws, lossis tso tawm qhov tsis ua haujlwm. Thawj feem ntau muaj version ntawm CA tau qhia hauv Kubernetes 1.8.
Cov txheej txheem siab ntawm SA kev ua haujlwm:
CA kuaj xyuas cov modules tseem nyob ntawm lub sijhawm ua ntej ntawm 10 vib nas this.
Yog hais tias ib los yog ntau lub pods nyob rau hauv ib tug standby lub xeev vim hais tias cov pawg tsis muaj txaus muaj peev xwm los faib lawv, nws sim muab ib los yog ntau tshaj nodes ntxiv.
Kev ua haujlwm scaling nws tus kheej yog lub sijhawm rhiab heev. Peb xav kom cov modules thiab pawg ua kom nrawm nrawm - ua ntej cov neeg siv pom muaj teeb meem lossis tsis ua haujlwm. Yog li ntawd, qhov nruab nrab lub sij hawm rau scaling pods thiab pawg yuav tsum tau coj mus rau hauv tus account.
Qhov zoo tshaj plaws scenario - 4 feeb:
30 vib nas this. Hloov cov phiaj xwm ntsuas: 30-60 vib nas this.
30 vib nas this. HPA tshawb xyuas qhov ntsuas qhov ntsuas: 30 vib nas this.
Tsawg dua 2 vib nas this. Pods yog tsim thiab mus rau hauv lub xeev tos: 1 thib ob.
Tsawg dua 2 vib nas this. CA pom cov modules tos thiab xa xov mus rau qhov chaw muab: 1 thib ob.
Tsawg dua 2 vib nas this. Cov pods yog tsim thiab nkag mus rau hauv lub xeev standby.
Tsawg dua 2 vib nas this. CA pom cov modules tos thiab hu xov tooj los muab cov nodes.
10 feeb. Cov huab muab faib cov nodes. K8s tos kom txog thaum lawv npaj txhij. Lub sijhawm tos yog nyob ntawm ntau yam, xws li tus neeg muag khoom ncua sijhawm, OS ncua sijhawm, thiab cov cuab yeej txhawb nqa.
Tsis txhob cuam tshuam cov chaw muab kev pabcuam huab 'scaling mechanisms nrog peb CA. Cov tom kawg khiav hauv Kubernetes pawg, thaum lub tshuab huab cua ua haujlwm ntawm lub hauv paus faib khoom. Nws tsis paub tias muaj dab tsi tshwm sim nrog koj cov pods lossis daim ntawv thov. Cov tshuab no ua haujlwm sib luag.