ProHoster > blog > Amministrazzjoni > Kubernetes: għaliex huwa daqshekk importanti li tiġi kkonfigurata l-ġestjoni tar-riżorsi tas-sistema?
Kubernetes: għaliex huwa daqshekk importanti li tiġi kkonfigurata l-ġestjoni tar-riżorsi tas-sistema?
Bħala regola, dejjem hemm bżonn li tiġi pprovduta ġabra dedikata ta' riżorsi għal applikazzjoni għall-operat korrett u stabbli tagħha. Imma x'jiġri jekk diversi applikazzjonijiet qed jaħdmu fuq l-istess qawwa? Kif tipprovdi lil kull wieħed minnhom ir-riżorsi minimi meħtieġa? Kif tista' tillimita l-konsum tar-riżorsi? Kif tqassam b'mod korrett it-tagħbija bejn in-nodi? Kif tiżgura li l-mekkaniżmu tal-iskala orizzontali jaħdem jekk it-tagħbija tal-applikazzjoni tiżdied?
Trid tibda b'liema tipi ewlenin ta 'riżorsi jeżistu fis-sistema - dan, ovvjament, huwa ħin tal-proċessur u RAM. Fil-manifesti k8s dawn it-tipi ta’ riżorsi jitkejlu fl-unitajiet li ġejjin:
CPU - fil-qlub
RAM - f'bytes
Barra minn hekk, għal kull riżors huwa possibbli li jiġu stabbiliti żewġ tipi ta 'rekwiżiti - jitlob и limiti. Talbiet - jiddeskrivi r-rekwiżiti minimi għal riżorsi b'xejn ta 'node biex imexxi kontenitur (u pod kollu kemm hu), filwaqt li limiti jistabbilixxi limitu iebes fuq ir-riżorsi disponibbli għall-kontenitur.
Huwa importanti li wieħed jifhem li l-manifest m'għandux għalfejn jiddefinixxi b'mod espliċitu ż-żewġ tipi, iżda l-imġieba se tkun kif ġej:
Jekk il-limiti ta' riżorsa biss huma speċifikati b'mod espliċitu, allura t-talbiet għal din ir-riżors awtomatikament jieħdu valur ugwali għal-limiti (tista' tivverifika dan billi ċċempel entitajiet jiddeskrivu). Dawk. fil-fatt, il-kontenitur se jkun limitat għall-istess ammont ta 'riżorsi li jeħtieġ biex jaħdem.
Jekk talbiet biss huma speċifikati b'mod espliċitu għal riżorsa, allura l-ebda restrizzjonijiet ta 'fuq huma stabbiliti fuq din ir-riżorsa - i.e. il-kontenitur huwa limitat biss mir-riżorsi tan-node innifsu.
Huwa wkoll possibbli li tiġi kkonfigurata l-ġestjoni tar-riżorsi mhux biss fil-livell ta 'kontenitur speċifiku, iżda wkoll fil-livell tal-ispazju tal-isem bl-użu tal-entitajiet li ġejjin:
LimitRange — tiddeskrivi l-politika ta’ restrizzjoni fil-livell tal-kontenitur/miżwed f’ns u hija meħtieġa sabiex tiddeskrivi l-limiti awtomatiċi fuq il-kontenitur/miżwed, kif ukoll tipprevjeni l-ħolqien ta’ kontenituri/miżwed ovvjament xaħam (jew viċi versa), tillimita n-numru tagħhom u tiddetermina d-differenza possibbli fil-valuri fil-limiti u t-talbiet
Kwoti tar-Riżorsi — tiddeskrivi l-politika ta’ restrizzjoni b’mod ġenerali għall-kontenituri kollha f’ns u tintuża, bħala regola, biex tiddelimita r-riżorsi fost l-ambjenti (utli meta l-ambjenti mhumiex demarkati strettament fil-livell tan-nodi)
Dawn li ġejjin huma eżempji ta' manifesti li jistabbilixxu limiti tar-riżorsi:
Dawk. f'dan il-każ, biex tmexxi kontenitur b'nginx, ser ikollok bżonn mill-inqas 1G ta 'RAM ħielsa u 0.2 CPU fuq in-node, filwaqt li l-aktar il-kontenitur jista' jikkonsma 0.2 CPU u RAM kollha disponibbli fuq in-node.
Dawk. is-somma tal-kontenituri kollha tat-talba fin-ns default ma tistax taqbeż 300m għas-CPU u 1G għall-OP, u s-somma tal-limitu kollu hija 700m għas-CPU u 2G għall-OP.
Dawk. fl-ispazju tal-isem default għall-kontenituri kollha, it-talba se tkun issettjata għal 100m għal CPU u 1G għal OP, limitu - 1 CPU u 2G. Fl-istess ħin, huwa stabbilit ukoll limitu fuq il-valuri possibbli fit-talba/limitu għal CPU (50m < x < 2) u RAM (500M < x < 4G).
Dawk. għal kull pod fil-ns default se jkun hemm limitu ta '4 vCPU u 1G.
Issa nixtieq ngħidlek x'vantaġġi jista' jagħtina l-iffissar ta' dawn ir-restrizzjonijiet.
Mekkaniżmu tal-ibbilanċjar tat-tagħbija bejn in-nodi
Kif tafu, il-komponent k8s huwa responsabbli għad-distribuzzjoni tal-imżiewed fost in-nodi, bħal Scheduler, li jaħdem skond algoritmu speċifiku. Dan l-algoritmu jgħaddi minn żewġ stadji meta jagħżel in-nodu ottimali biex jitnieda:
filtrazzjoni
Li jvarjaw
Dawk. skond il-politika deskritta, inizjalment jintgħażlu nodi li fuqhom huwa possibbli li titnieda pod ibbażat fuq sett predikati (inkluż il-verifika jekk in-node għandux biżżejjed riżorsi biex imexxi l-pod - PodFitsResources), u mbagħad għal kull wieħed minn dawn in-nodi, skond prijoritajiet il-punti jingħataw (inkluż, iktar ma jkun hemm riżorsi ħielsa node, aktar punti jiġi assenjat - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) u l-pod jiġi mniedi fuq in-nodu bl-aktar punti (jekk diversi nodi jissodisfaw din il-kundizzjoni f’daqqa, allura tintgħażel waħda każwali).
Fl-istess ħin, trid tifhem li l-iskeder, meta jivvaluta r-riżorsi disponibbli ta 'node, huwa ggwidat mid-dejta li hija maħżuna f'etcd - i.e. għall-ammont tar-riżorsi mitluba/limitu ta 'kull pod li jaħdem fuq dan in-node, iżda mhux għall-konsum tar-riżorsi attwali. Din l-informazzjoni tista 'tinkiseb mill-output tal-kmand kubectl describe node $NODEper eżempju:
Hawnhekk naraw il-miżwed kollha jaħdmu fuq node speċifiku, kif ukoll ir-riżorsi li kull pods jitlob. U hawn kif jidhru r-reġistri tal-iskedar meta jitnieda l-pod cronjob-cron-events-1573793820-xt6q9 (din l-informazzjoni se tidher fil-ġurnal tal-iskedar meta tissettja l-10 livell tal-illoggjar fl-argumenti tal-kmand tal-istartjar -v=10):
zokk maqtugħ
I1115 07:57:21.637791 1 scheduling_queue.go:908] About to try and schedule pod nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.637804 1 scheduler.go:453] Attempting to schedule pod: nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.638285 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s5 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638300 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s6 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s3 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s4 is allowed, Node is running only 17 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638365 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s12 is allowed, Node is running only 9 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s11 is allowed, Node is running only 11 out of 110 Pods.
I1115 07:57:21.638385 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s1 is allowed, Node is running only 19 out of 110 Pods.
I1115 07:57:21.638402 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s2 is allowed, Node is running only 21 out of 110 Pods.
I1115 07:57:21.638383 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638335 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, Node is running only 18 out of 110 Pods.
I1115 07:57:21.638408 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s13 is allowed, Node is running only 8 out of 110 Pods.
I1115 07:57:21.638478 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638505 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638577 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638583 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s7 is allowed, Node is running only 25 out of 110 Pods.
I1115 07:57:21.638932 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 9
I1115 07:57:21.638946 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 8
I1115 07:57:21.638961 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: BalancedResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 9
I1115 07:57:21.638971 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.638975 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: LeastResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 8
I1115 07:57:21.638990 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.639022 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639030 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639034 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639041 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639053 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639059 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639061 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639063 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639073 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639077 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639085 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639088 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639103 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639109 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639114 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639127 1 generic_scheduler.go:781] Host nxs-k8s-s10 => Score 100037
I1115 07:57:21.639150 1 generic_scheduler.go:781] Host nxs-k8s-s8 => Score 100034
I1115 07:57:21.639154 1 generic_scheduler.go:781] Host nxs-k8s-s9 => Score 100037
I1115 07:57:21.639267 1 scheduler_binder.go:269] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10"
I1115 07:57:21.639286 1 scheduler_binder.go:279] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10": all PVCs bound and nothing to do
I1115 07:57:21.639333 1 factory.go:733] Attempting to bind cronjob-cron-events-1573793820-xt6q9 to nxs-k8s-s10
Hawnhekk naraw li inizjalment l-iskeder jiffiltra u jiġġenera lista ta 'nodi 3 li fuqhom jista' jiġi mniedi (nxs-k8s-s8, nxs-k8s-s9, nxs-k8s-s10). Imbagħad tikkalkula punteġġi bbażati fuq diversi parametri (inklużi BalancedResourceAllocation, LeastResourceAllocation) għal kull wieħed minn dawn in-nodi sabiex jiddetermina l-aktar nodu adattat. Fl-aħħar mill-aħħar, il-pod huwa skedat fuq in-nodu bl-ogħla numru ta 'punti (hawnhekk żewġ nodi f'daqqa għandhom l-istess numru ta' punti 100037, għalhekk jintgħażel wieħed każwali - nxs-k8s-s10).
Output: jekk node jmexxi l-imżiewed li għalihom m'hemm l-ebda restrizzjonijiet stabbiliti, allura għal k8s (mil-lat tal-konsum tar-riżorsi) dan ikun ekwivalenti għal bħallikieku ma kien hemm l-ebda imżiewed bħal dawn fuq dan in-node. Għalhekk, jekk inti, kondizzjonalment, għandek pod bi proċess gluttonous (per eżempju, wowza) u l-ebda restrizzjonijiet huma stabbiliti għaliha, allura tista 'tqum sitwazzjoni meta dan il-pod fil-fatt kiel ir-riżorsi kollha tan-node, iżda għal k8s dan in-node jitqies mhux mgħobbi u se jingħata l-istess numru ta 'punti meta jikklassifika (preċiżament f'punti li jivvalutaw ir-riżorsi disponibbli) bħala node li ma jkollux imżiewed tax-xogħol, li fl-aħħar mill-aħħar jista' jwassal għal distribuzzjoni irregolari tat-tagħbija bejn in-nodi.
Żgumbrament ta' Pod
Kif tafu, kull pod huwa assenjat waħda minn 3 klassijiet QoS:
garantit — jiġi assenjat meta għal kull kontenitur fil-pod jiġu speċifikati talba u limitu għall-memorja u l-cpu, u dawn il-valuri jridu jaqblu
jinfaqa — mill-inqas kontenitur wieħed fil-pod għandu talba u limitu, b'talba < limitu
aħjar sforz — meta l-ebda kontenitur wieħed fil-miżwed ma jkun limitat fir-riżorsi
Fl-istess ħin, meta node jesperjenza nuqqas ta 'riżorsi (disk, memorja), kubelet jibda jikklassifika u jkeċċi l-imżiewed skond algoritmu speċifiku li jqis il-prijorità tal-pod u l-klassi QoS tiegħu. Pereżempju, jekk qed nitkellmu dwar RAM, imbagħad ibbażati fuq il-klassi QoS, il-punti jingħataw skont il-prinċipju li ġej:
Dawk. bl-istess prijorità, il-kubelet l-ewwel se jkeċċi l-imżiewed bl-aħjar klassi QoS tal-isforz min-node.
Output: jekk trid tnaqqas il-probabbiltà li l-powd mixtieq jiġi żgumbrat min-node fil-każ ta 'nuqqas ta' riżorsi fuqu, allura flimkien mal-prijorità, trid tieħu ħsieb ukoll li tistabbilixxi t-talba/limitu għaliha.
Mekkaniżmu għal awtoscaling orizzontali tal-poss tal-applikazzjoni (HPA)
Meta l-kompitu huwa li żżid u tnaqqas awtomatikament in-numru ta 'miżwed skond l-użu tar-riżorsi (sistema - CPU/RAM jew utent - rps), bħal entità k8s bħal HPA (Pod Autoscaler Orizzontali). L-algoritmu tiegħu huwa kif ġej:
Il-qari kurrenti tar-riżors osservat huwa determinat (currentMetricValue)
Il-valuri mixtieqa għar-riżors huma determinati (desiredMetricValue), li għar-riżorsi tas-sistema huma stabbiliti bl-użu tat-talba
In-numru attwali ta' repliki huwa determinat (currentReplicas)
Il-formula li ġejja tikkalkula n-numru mixtieq ta’ repliki (Repliki mixtieqa)
wishedReplicas = [currentReplicas * ( currentMetricValue / wishedMetricValue )]
F'dan il-każ, l-iskala mhux se jseħħ meta l-koeffiċjent (currentMetricValue / wishedMetricValue) ikun qrib 1 (f'dan il-każ, nistgħu nissettjaw l-iżball permissibbli aħna stess; awtomatikament huwa 0.1).
Ejja nħarsu lejn kif taħdem hpa billi tuża l-eżempju tal-applikazzjoni tat-test tal-app (deskritta bħala Deployment), fejn huwa meħtieġ li jinbidel in-numru ta 'repliki skont il-konsum tas-CPU:
Dawk. naraw li l-pod tal-applikazzjoni huwa inizjalment imniedi f'żewġ każijiet, li kull wieħed minnhom fih żewġ kontenituri nginx u nginx-exporter, li għal kull wieħed minnhom jitlob għal CPU.
Dawk. Ħloqna hpa li se timmonitorja l-App-test ta’ Deployment u taġġusta n-numru ta’ pods bl-applikazzjoni bbażata fuq l-indikatur tal-cpu (nistennew li l-pod għandu jikkonsma 30% tas-CPU li jitlob), bin-numru ta’ repliki jkun fih il-medda ta '2-10.
Issa, ejja nħarsu lejn il-mekkaniżmu tat-tħaddim tal-hpa jekk napplikaw tagħbija għal waħda mill-fuklar:
# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
app-test-78559f8f44-pgs58 101m 243Mi
app-test-78559f8f44-cj4jz 4m 240Mi
B'kollox għandna dan li ġej:
Il-valur mixtieq (desiredMetricValue) - skont is-settings tal-hpa, għandna 30%
Valur kurrenti (currentMetricValue) - għall-kalkolu, kontrollur-maniġer jikkalkula l-valur medju tal-konsum tar-riżorsi f'%, i.e. kondizzjonalment jagħmel dan li ġej:
Jirċievi valuri assoluti tal-metriċi tal-pods mis-server tal-metriċi, i.e. 101m u 4m
Issa għandna dak kollu li għandna bżonn biex niddeterminaw jekk hemmx bżonn nibdlu n-numru ta 'repliki; biex nagħmlu dan, nikkalkulaw il-koeffiċjent:
ratio = 59% / 30% = 1.96
Dawk. in-numru ta 'repliki għandu jiżdied b'~2 darbiet u jammonta għal [2 * 1.96] = 4.
Konklużjoni: Kif tistgħu taraw, sabiex dan il-mekkaniżmu jaħdem, kundizzjoni meħtieġa hija l-preżenza ta 'talbiet għall-kontenituri kollha fil-pod osservat.
Mekkaniżmu għal awtoscaling orizzontali tan-nodi (Cluster Autoscaler)
Sabiex jinnewtralizza l-impatt negattiv fuq is-sistema waqt żidiet fit-tagħbija, li jkollok hpa konfigurat mhuwiex biżżejjed. Pereżempju, skont is-settings fil-maniġer tal-kontrollur hpa, jiddeċiedi li n-numru ta' repliki jeħtieġ li jiżdied b'2 darbiet, iżda n-nodi m'għandhomx riżorsi b'xejn biex imexxu tali numru ta' imżiewed (jiġifieri n-nodu ma jistax jipprovdi l- riżorsi mitluba lill-pods talbiet) u dawn il-miżwed jaqilbu għall-istat Pendenti.
F'dan il-każ, jekk il-fornitur ikollu IaaS/PaaS korrispondenti (pereżempju, GKE/GCE, AKS, EKS, eċċ.), għodda bħal Node Autoscaler. Jippermettilek li tissettja n-numru massimu u minimu ta’ nodi fil-cluster u taġġusta awtomatikament in-numru attwali ta’ nodi (billi ssejjaħ lill-API tal-fornitur tas-sħab biex tordna/tneħħi nodu) meta jkun hemm nuqqas ta’ riżorsi fil-cluster u l-imżiewed ma jistgħux jiġu skedati (huma fl-istat Pendenti).
Konklużjoni: Biex tkun tista 'tagħmel skala awtomatika in-nodi, huwa meħtieġ li jiġu stabbiliti talbiet fil-kontenituri tal-pods sabiex il-k8s ikunu jistgħu jivvalutaw b'mod korrett it-tagħbija fuq in-nodi u għalhekk jirrapportaw li m'hemm l-ebda riżorsi fil-cluster biex iniedu l-pod li jmiss.
Konklużjoni
Għandu jiġi nnutat li l-iffissar ta' limiti tar-riżorsi tal-kontejners mhuwiex rekwiżit biex l-applikazzjoni taħdem b'suċċess, iżda xorta huwa aħjar li tagħmel dan għar-raġunijiet li ġejjin:
Għal tħaddim aktar preċiż tal-ischeduler f'termini ta 'ibbilanċjar tat-tagħbija bejn in-nodi k8s
Biex titnaqqas il-probabbiltà li jseħħ avveniment ta' "żgumbrament tal-pod".
Għall-autoscaling orizzontali tal-imżiewed tal-applikazzjoni (HPA) biex jaħdmu
Għal awtoscaling orizzontali tan-nodi (Cluster Autoscaling) għall-fornituri tal-cloud