ProHoster > Blog > Pulega > Kubernetes: aisea e taua tele ai le faʻatulagaina o le puleaina o punaoa?
Kubernetes: aisea e taua tele ai le faʻatulagaina o le puleaina o punaoa?
I le avea ai o se tulafono, o loʻo i ai pea le manaʻoga e tuʻuina atu se vaitaele tuʻufaʻatasia o punaoa i se talosaga mo lona faʻagaioiga saʻo ma mautu. Ae fa'afefea pe a fai e tele ni talosaga o lo'o fa'agaoioi i le mana e tasi? E fa'afefea ona tu'uina atu ia i latou ta'ito'atasi mea aupito maualalo e mana'omia? E fa'afefea ona fa'atapula'aina le fa'aaogaina o punaoa? E fa'afefea ona fa'asoa sa'o le uta i le va o nodes? E fa'afefea ona fa'amautinoa e galue le masini fa'alava fa'ata'atia pe a fa'atupula'ia le uta o le talosaga?
E tatau ona e amata i ituaiga autu o punaoa o loʻo i ai i totonu o le polokalama - o le mea moni, o le taimi o le gaosiga ma le RAM. I k8s fa'aalia o nei ituaiga punaoa o lo'o fuaina i iunite nei:
PPU - i totonu
RAM - i paita
E le gata i lea, mo punaoa taʻitasi e mafai ona faʻatulagaina ituaiga e lua o manaʻoga - talosaga и tapulaa. Talosaga - o loʻo faʻamatalaina ai le manaʻoga maualalo mo punaʻoa maua fua o se node e faʻatautaia ai se atigipusa (ma le pod atoa), aʻo faʻatapulaʻa e faʻatulagaina se tapulaa faigata i punaoa o loʻo avanoa i le pusa.
E taua le malamalama o le faʻaaliga e le tatau ona faʻamalamalamaina maʻoti ituaiga uma e lua, ae o le amio o le a faʻapea:
Afai e na'o tapula'a o se puna'oa o lo'o fa'ailoa manino mai, o talosaga mo lenei puna'oa e otometi lava ona ave se tau e tutusa ma tapula'a (e mafai ona e fa'amaonia lenei mea e ala i le vala'au i fa'amatalaga fa'alapotopotoga). O na. o le mea moni, o le container o le a faʻatapulaʻaina i le aofaʻi tutusa o punaoa e manaʻomia e tamoe ai.
Afai na'o talosaga e fa'ailoa manino mai mo se punaoa, ona leai lea o tapula'a pito i luga o lo'o fa'atulagaina i lenei punaoa - i.e. o le atigipusa e faʻatapulaʻa naʻo punaoa o le node lava ia.
E mafai foʻi ona faʻatulagaina le puleaina o punaʻoa e le gata i le tulaga o se pusa faʻapitoa, ae faʻapea foʻi i le igoa igoa e faʻaaoga ai vaega nei:
Limit Range - faʻamatalaina le tulafono faʻatapulaʻa i le atigipusa / pod tulaga i ns ma e manaʻomia ina ia faʻamatalaina le faʻatapulaʻaina o tapulaʻa i luga o le atigipusa/pod, faʻapea foʻi ma le puipuia o le fausiaina o pusa manino gaʻo / pods (poʻo le isi itu), faʻatapulaʻa latou numera ma fuafua le eseesega e mafai i le tau i tapulaʻa ma talosaga
PunaoaQuotas — fa'amatala le tulafono fa'atapula'a i tulaga lautele mo koneteina uma i ns ma fa'aaoga, e pei o se tulafono, e fa'agata ai punaoa i totonu o si'osi'omaga (fa'aoga pe a le fa'amaoti le va'aiga o si'osi'omaga i le tulaga o le node)
O fa'ata'ita'iga nei o fa'aaliga o lo'o fa'atulagaina tapula'a a'oa'oga:
O na. i lenei tulaga, e taʻavale se atigipusa ma le nginx, e te manaʻomia le itiiti ifo i le 1G o le RAM saoloto ma le 0.2 PPU i luga o le node, ae o le tele o le koneteina e mafai ona 'ai le 0.2 CPU ma RAM avanoa uma i luga o le node.
O na. o le aofa'i o pusa talosaga uma i le faaletonu ns e le mafai ona sili atu i le 300m mo le PPU ma le 1G mo le OP, ma le aofa'i o tapula'a uma e 700m mo le PPU ma le 2G mo le OP.
O na. i le igoa fa'aletonu mo koneteina uma, talosaga o le a seti i le 100m mo le PPU ma le 1G mo le OP, fa'atapula'a - 1 PPU ma le 2G. I le taimi lava e tasi, o loʻo faʻatulagaina foʻi se tapulaʻa i luga o tau talafeagai i talosaga / tapulaʻa mo PPU (50m <x <2) ma le RAM (500M <x <4G).
O na. mo pusa taitasi i le faaletonu ns o le ai ai se tapulaa o le 4 vCPU ma le 1G.
O lea la ou te fia ta'u atu ia te oe po o le a le lelei o le setiina o nei tapula'a e mafai ona maua mai ia i matou.
Faiga fa'apaleni uta i le va o nodes
E pei ona e iloa, o le vaega k8s e nafa ma le tufatufaina o pods i nodes, pei o Faatulagana, lea e galue e tusa ai ma se algorithm patino. O lenei algorithm e alu i ni laasaga se lua pe a filifilia le node sili ona lelei e faʻalauiloa:
faamamăina
Va'aiga
O na. e tusa ai ma le faʻamatalaga faʻavae, o nodes e filifilia muamua lea e mafai ai ona faʻalauiloa se pod e faʻavae i luga o se seti predicates (e aofia ai ma le siakiina pe lava punaoa o le node e faʻatautaia ai le pod - PodFitsResources), ona sosoo ai lea ma nei pona taitasi, e tusa ai ma le mea e faamuamua 'ai e tu'uina atu (e aofia ai, o le tele o puna'oa maua fua o lo'o i ai i le pona, o le tele o togi e tu'uina atu - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) ma fa'alauiloa le pod i luga o le node ma le tele o togi (pe a fa'amalieina le tele o nodes i le taimi e tasi, ona ua filifilia se mea fa'afuase'i).
I le taimi lava e tasi, e tatau ona e malamalama o le faʻatulagaina, pe a suʻesuʻeina punaoa avanoa o se node, e taʻitaʻia e faʻamaumauga o loʻo teuina i etcd - i.e. mo le aofaʻi o le manaʻoga / faʻatapulaʻa punaoa o pusa taʻitasi o loʻo taʻavale i luga o lenei node, ae le mo le faʻaaogaina o punaoa. O lenei faʻamatalaga e mafai ona maua mai le faʻatonuga o galuega kubectl describe node $NODE, mo se faataitaiga:
O iinei tatou te vaʻai ai i pusa uma o loʻo taʻavale i luga o se node patino, faʻapea foʻi ma punaoa o loʻo talosagaina e pod taʻitasi. Ma o le mea lea e foliga mai ai le faʻasologa o ogalaau pe a faʻalauiloa le cronjob-cron-events-1573793820-xt6q9 pod (o lenei faʻamatalaga o le a faʻaalia i le faʻasologa o faʻamaumauga pe a e setiina le 10th logging level i le amataga o le faʻatonuga o finauga -v=10):
ogalaau
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
O iinei tatou te vaʻai ai i le taimi muamua e faʻapipiʻi ai e le tagata faʻatulagaina ma fatuina se lisi o 3 nodes e mafai ona faʻalauiloa (nxs-k8s-s8, nxs-k8s-s9, nxs-k8s-s10). Ona fa'atatauina lea o togi e fa'atatau i le tele o fa'amaufa'ailoga (e aofia ai le BalancedResourceAllocation, LeastResourceAllocation) mo nei pona ta'itasi ina ia iloa ai le pona e sili ona talafeagai. Mulimuli ane, o le pod o loʻo faʻatulagaina i luga o le node ma le numera sili ona maualuga o togi (o iinei e lua nodes e tutusa le numera o togi 100037, o lea e filifilia ai se mea faʻafuaseʻi - nxs-k8s-s10).
iʻuga: afai o se node e taʻavale pods e leai ni faʻatapulaʻaina o loʻo faʻatulagaina, ona mo k8s (mai le manatu o le faʻaaogaina o punaoa) o le a tutusa lea ma le leai o ni pusa i luga o lenei node. O le mea lea, afai o oe, faʻapitoa, e iai sau paʻu ma se faiga 'ai tele (mo se faʻataʻitaʻiga, wowza) ma e leai ni tapulaʻa e faʻatulagaina mo ia, ona tulaʻi mai lea o se tulaga pe a 'ai moni lava e lenei pod punaoa uma o le node, ae mo k8s lenei node ua manatu e le'i utaina ma o le a tu'uina atu le numera tutusa o togi pe a fa'avasegaina (i vaega tonu e iloilo ai punaoa avanoa) e pei o se node e leai ni pusa galue, lea e iu ai ina mafai ona o'o atu i le tufatufaina le tutusa o le uta i le va o pona.
Le tuliesea o Pod
E pei ona e iloa, o pusa taʻitasi e tuʻuina atu se tasi o vasega 3 QoS:
fa'amaonia - e tuʻuina atu pe a mo atigipusa taʻitasi i totonu o le pod se talosaga ma tapulaa e faʻamaonia mo le manatua ma le CPU, ma o nei tau e tatau ona fetaui
pa'u — a itiiti ifo ma le tasi le atigipusa i totonu o le pusa o loʻo i ai se talosaga ma se tapulaʻa, faʻatasi ai ma le talosaga < tapulaʻa
sili taumafaiga - pe a leai se atigipusa e tasi i totonu o le pusa e faʻatapulaʻaina punaoa
I le taimi lava e tasi, pe a oʻo i le node le le lava o punaoa (disk, memory), e amata ona faʻavasega ma faʻateʻa e le kubelet pods e tusa ai ma se algorithm patino e amanaʻia ai le faamuamua o le pod ma lana vasega QoS. Mo se faʻataʻitaʻiga, afai o loʻo tatou talanoa e uiga i le RAM, ona faʻavae lea i luga o le QoS vasega, o togi e tuʻuina atu e tusa ai ma le mataupu faavae lenei:
O na. fa'atasi ai ma le fa'amuamua lava e tasi, o le kubelet o le a muamua fa'ate'a ese pods ma le taumafaiga sili QoS vasega mai le node.
iʻuga: afai e te manaʻo e faʻaitiitia le ono mafai ona faʻateʻaina le pod manaʻomia mai le node i le tulaga o le le lava o punaoa i luga, ona faʻatasi ai lea ma le faʻamuamua, e tatau foi ona e tausia le setiina o le talosaga / tapulaʻa mo ia.
Mechanism mo le fa'ata'atiaga fa'ata'atiaga fa'ata'atiaga o poti talosaga (HPA)
Afai o le galuega o le faʻateleina ma faʻaititia le numera o pods e faʻatatau i le faʻaogaina o punaoa (system - CPU / RAM poʻo le tagata faʻaoga - rps), e pei o le k8s faʻalapotopotoga e pei o HPA (Fa'asa'o Pod Autoscaler). O le algorithm lea e fa'apea:
O faitauga o lo'o i ai nei o le puna'oa o lo'o matauina ua fa'amoemoeina (currentMetricValue)
O tau manaʻomia mo le punaoa ua fuafuaina (manaʻomiaMetricValue), lea mo punaoa faʻaoga e faʻatulagaina e faʻaaoga ai le talosaga
Le numera o lo'o iai nei o fa'atusa ua fa'amauina (currentReplicas)
O le fua fa'atatau o lo'o i lalo e fa'atatauina le numera mana'omia o fa'atusa (mana'omiaReplicas)
desiredReplicas = [ currentReplicas * ( currentMetricValue / desiredMetricValue )]
I lenei tulaga, o le a le tupu le fua pe a latalata le coefficient (currentMetricValue / desiredMetricValue) i le 1 (i lenei tulaga, e mafai ona tatou setiina le mea sese faʻatagaina i tatou lava; e ala i le faaletonu o le 0.1).
Sei o tatou vaʻavaʻai pe faʻafefea ona galue le hpa i le faʻaaogaina o le faʻataʻitaʻiga o le app-test application (faʻamatalaina o le Deployment), lea e manaʻomia ai le suia o le numera o faʻataʻitaʻiga e faʻatatau i le faʻaaogaina o le CPU:
O na. matou te vaʻaia o le talosaga pod o loʻo faʻalauiloaina muamua i ni tulaga se lua, o ia mea taʻitasi o loʻo i ai ni pusa nginx e lua ma nginx-faʻatau atu, mo ia mea taʻitasi e faʻamaonia. talosaga mo PPU.
O na. Na matou fatuina se hpa o le a mataʻituina le Deployment app-test ma fetuunai le numera o pods ma le talosaga e faʻavae i luga o le cpu indicator (matou te faʻamoemoe o le pod e tatau ona faʻaaogaina le 30% o le PPU o loʻo talosagaina), ma le numera o kopi o loʻo i totonu. le va o le 2-10.
Ia, seʻi o tatou vaʻavaʻai i le faiga o le faʻaogaina o le hpa pe a tatou faʻaaogaina se uta i se tasi o afi:
# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
app-test-78559f8f44-pgs58 101m 243Mi
app-test-78559f8f44-cj4jz 4m 240Mi
I le aotelega o loʻo i ai a matou mea nei:
Le tau mana'omia (desiredMetricValue) - e tusa ai ma fa'atulagaga hpa, e 30% matou.
Tau o le taimi nei (currentMetricValue) - mo le faʻatusatusaga, e faʻatatau e le pule-pule le tau averesi o le faʻaaogaina o punaoa i%, i.e. fa'apea ona faia mea nei:
Maua fa'atauaina atoatoa o metrics pod mai le metric server, i.e. 101m ma le 4m
Fa'atatauina le averesi o le tau atoa, i.e. (101m + 4m) / 2 = 53m
Maua le tau atoatoa mo le faʻaaogaina o punaoa manaʻomia (mo lenei, o talosaga a pusa uma e aoteleina) 60m + 30m = 90m
Fa'atatauina le averesi pasene o le fa'aaogaina o le PPU e fa'atatau i le talosaga pod, i.e. 53m / 90m * 100% = 59%
O lea ua matou maua mea uma matou te manaʻomia e fuafua ai pe matou te manaʻomia le suia o le numera o faʻataʻitaʻiga e fai ai lenei mea, matou te faʻatusatusa le coefficient:
ratio = 59% / 30% = 1.96
O na. e tatau ona fa'aopoopo le numera o fa'atusa i le ~2 taimi ma le aofa'i i le [2 * 1.96] = 4.
Faaiuga: E pei ona mafai ona e vaʻaia, ina ia mafai ona galue lenei masini, o se tulaga talafeagai o le i ai lea o talosaga mo pusa uma i totonu o le pusa mataʻituina.
Mechanism mo le fa'a'ava'ava'a fa'ata'atiaga o nodes (Cluster Autoscaler)
Ina ia faʻaitiitia le aʻafiaga leaga i luga o le faiga i le taimi o le faʻatupuina o uta, e le lava le i ai o se HPa faʻatulagaina. Mo se faʻataʻitaʻiga, e tusa ai ma faʻatulagaga i le pule o le pule o le hpa, e filifili e tatau ona faʻateleina le numera o kopi i le 2 taimi, ae o le node e leai ni punaoa saoloto e faʻatautaia ai le tele o pods (e pei o le node e le mafai ona tuʻuina atu le talosagaina punaoa i le talosaga pod) ma o nei pods e sui i le tulaga o loʻo faʻatali.
I lenei tulaga, afai o loʻo i ai i le tagata tuʻuina atu se IaaS / PaaS tutusa (mo se faʻataʻitaʻiga, GKE / GCE, AKS, EKS, ma isi), o se meafaigaluega e pei o Node Autoscaler. E mafai ai ona e setiina le maualuga ma le laʻititi o numera o nodes i le fuifui ma faʻapipiʻi otometi le numera o loʻo i ai nei (e ala i le valaʻau i le cloud provider API e faʻatonu / aveese se node) pe a leai se punaoa i le fuifui ma le pods e le mafai ona fa'atulagaina (o lo'o i le tulaga Fa'atali).
Faaiuga: Ina ia mafai ona autoscale nodes, e tatau ona seti talosaga i totonu o pusa pusa ina ia mafai e k8s ona iloilo saʻo le uta i luga o nodes ma e tusa ai ma lipoti e leai ni punaoa i le fuifui e faʻalauiloa ai le isi pod.
iʻuga
E tatau ona maitauina o le faʻatulagaina o tapulaʻa punaoa pusa e le o se manaʻoga mo le talosaga e faʻagasolo manuia, ae sili atu le faia mo mafuaaga nei:
Mo le faʻagaioiga saʻo o le faʻatulagaina i tulaga o le paleni o uta i le va o k8s nodes
Ina ia fa'aitiitia le fa'alavelave o se mea e tupu mai i le "pod eviction".
Mo le fa'ata'ita'i fa'ata'atiaga fa'ata'atiaga o mea fa'aoga (HPA) e galue
Mo le fa'ata'atiaga fa'ata'amilo o nodes (Cluster Autoscaling) mo fa'aputuga o ao