Sveiki visiem! Mani sauc Oļegs Sidorenkovs, strÄdÄju DomClick par infrastruktÅ«ras komandas vadÄ«tÄju. Kubik ražoÅ”anÄ izmantojam vairÄk nekÄ trÄ«s gadus, un Å”ajÄ laikÄ ar to esam piedzÄ«vojuÅ”i daudz dažÄdu interesantu mirkļu. Å odien es jums pastÄstÄ«Å”u, kÄ, izmantojot pareizo pieeju, jÅ«s varat izspiest vÄl vairÄk veiktspÄjas no vaniļas Kubernetes savam klasterim. Uzmanibu gatavibu starts!
JÅ«s visi ļoti labi zinÄt, ka Kubernetes ir mÄrogojama atvÄrtÄ pirmkoda sistÄma konteineru orÄ·estrÄÅ”anai; labi, vai 5 binÄrie faili, kas darbojas maÄ£iski, pÄrvaldot jÅ«su mikropakalpojumu dzÄ«ves ciklu servera vidÄ. TurklÄt tas ir diezgan elastÄ«gs rÄ«ks, ko var salikt kÄ Lego, lai maksimÄli pielÄgotu dažÄdiem uzdevumiem.
Un Ŕķiet, ka viss ir kÄrtÄ«bÄ: iemet serverus klasterÄ« kÄ malku kurtuvÄ, un tu nezinÄsi nekÄdas bÄdas. Bet, ja esat par vidi, jÅ«s domÄjat: "KÄ es varu noturÄt uguni un saudzÄt mežu?" Citiem vÄrdiem sakot, kÄ atrast veidus, kÄ uzlabot infrastruktÅ«ru un samazinÄt izmaksas.
1. PÄrraugiet komandas un lietojumprogrammu resursus
Viena no visizplatÄ«tÄkajÄm, bet efektÄ«vÄkajÄm metodÄm ir pieprasÄ«jumu/limitu ievieÅ”ana. Sadaliet lietojumprogrammas pÄc nosaukumvietÄm un nosaukumvietas pÄc izstrÄdes komandÄm. Pirms izvietoÅ”anas iestatiet lietojumprogrammas vÄrtÄ«bas procesora laika, atmiÅas un Ä«slaicÄ«gas krÄtuves patÄriÅam.
Izmantojot pieredzi, mÄs nonÄcÄm pie secinÄjuma: jums nevajadzÄtu palielinÄt pieprasÄ«jumus no limitiem vairÄk nekÄ divas reizes. Klastera apjoms tiek aprÄÄ·inÄts, pamatojoties uz pieprasÄ«jumiem, un, ja lietojumprogrammÄm pieŔķirat resursu atŔķirÄ«bu, piemÄram, 5-10 reizes, tad iedomÄjieties, kas notiks ar jÅ«su mezglu, kad tas bÅ«s piepildÄ«ts ar pÄkstÄ«m un pÄkÅ”Åi saÅems slodzi. Nekas labs. Vismaz, droseles un maksimums, jÅ«s atvadÄ«sities no darbinieka un saÅemsiet ciklisku slodzi uz atlikuÅ”ajiem mezgliem pÄc tam, kad podi sÄks kustÄties.
TurklÄt ar palÄ«dzÄ«bu limitranges SÄkumÄ varat iestatÄ«t konteinera resursu vÄrtÄ«bas - minimÄlo, maksimÄlo un noklusÄjuma vÄrtÄ«bu:
ā ~ kubectl describe limitranges --namespace ops
Name: limit-range
Namespace: ops
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Container cpu 50m 10 100m 100m 2
Container ephemeral-storage 12Mi 8Gi 128Mi 4Gi -
Container memory 64Mi 40Gi 128Mi 128Mi 2
Neaizmirstiet ierobežot nosaukumvietas resursus, lai viena komanda nevarÄtu pÄrÅemt visus klastera resursus:
KÄ redzams no apraksta resourcequotas, ja operÄcijas komanda vÄlas izvietot apvidus, kas patÄrÄs vÄl 10 CPU, plÄnotÄjs to neatļaus un parÄdÄ«s kļūdu:
Lai atrisinÄtu Å”Ädu problÄmu, varat uzrakstÄ«t rÄ«ku, piemÄram, patÄ«k Å”is, kas spÄj uzglabÄt un izmantot komandu stÄvokļa resursus.
2. IzvÄlieties optimÄlo failu krÄtuvi
Å eit es gribÄtu pieskarties tÄmai par noturÄ«giem sÄjumiem un Kubernetes darbinieku mezglu diska apakÅ”sistÄmai. Ceru, ka ražoÅ”anÄ cietajÄ diskÄ esoÅ”o āCubeā neviens neizmanto, bet reizÄm ar parasto SSD vairs nepietiek. MÄs saskÄrÄmies ar problÄmu, kad žurnÄli iznÄ«cinÄja disku I/O darbÄ«bu dÄļ, un nav daudz risinÄjumu:
Izmantojiet augstas veiktspÄjas SSD vai pÄrslÄdzieties uz NVMe (ja pÄrvaldÄt savu aparatÅ«ru).
Samaziniet reÄ£istrÄÅ”anas lÄ«meni.
Veiciet āgudruā to pÄkstÄ«m, kas izvaro disku, balansÄÅ”anu (podAntiAffinity).
IepriekÅ” redzamajÄ ekrÄnÄ ir parÄdÄ«ts, kas notiek diskÄ zem nginx-ingress-controller, kad ir iespÄjota access_logs reÄ£istrÄÅ”ana (~12 tÅ«kstoÅ”i žurnÄlu/s). Å is nosacÄ«jums, protams, var izraisÄ«t visu Ŕī mezgla lietojumprogrammu degradÄciju.
Kas attiecas uz PV, ak, neesmu visu izmÄÄ£inÄjis sugas PastÄvÄ«gi sÄjumi. Izmantojiet sev piemÄrotÄko iespÄju. VÄsturiski mÅ«su valstÄ« ir gadÄ«jies, ka nelielai daļai servisu ir nepiecieÅ”ami RWX apjomi, un jau sen viÅi Å”im uzdevumam sÄka izmantot NFS krÄtuvi. LÄti un... pietiekami. Protams, viÅÅ” un es ÄdÄm sÅ«dus - svÄtÄ« jÅ«s, bet mÄs iemÄcÄ«jÄmies to noregulÄt, un mana galva vairs nesÄp. Un, ja iespÄjams, pÄrejiet uz S3 objektu krÄtuvi.
3. Apkopojiet optimizÄtus attÄlus
VislabÄk ir izmantot konteineram optimizÄtus attÄlus, lai Kubernetes varÄtu tos ÄtrÄk ienest un izpildÄ«t efektÄ«vÄk.
OptimizÄts nozÄ«mÄ, ka attÄli:
satur tikai vienu lietojumprogrammu vai veic tikai vienu funkciju;
mazs izmÄrs, jo lielie attÄli tÄ«klÄ tiek pÄrraidÄ«ti sliktÄk;
ir veselÄ«bas un gatavÄ«bas parametri, kas ļauj Kubernetes rÄ«koties dÄ«kstÄves gadÄ«jumÄ;
izmantojiet konteineriem draudzÄ«gas operÄtÄjsistÄmas (piemÄram, Alpine vai CoreOS), kas ir izturÄ«gÄkas pret konfigurÄcijas kļūdÄm;
izmantojiet vairÄkpakÄpju bÅ«vÄjumus, lai varÄtu izvietot tikai apkopotas lietojumprogrammas, nevis pievienotos avotus.
Ir daudz rÄ«ku un pakalpojumu, kas ļauj pÄrbaudÄ«t un optimizÄt attÄlus lidojuma laikÄ. Ir svarÄ«gi tos vienmÄr atjauninÄt un pÄrbaudÄ«t, lai nodroÅ”inÄtu droŔību. RezultÄtÄ jÅ«s iegÅ«stat:
SamazinÄta tÄ«kla slodze visÄ klasterÄ«.
Samazina konteinera palaiŔanas laiku.
MazÄks visa Docker reÄ£istra izmÄrs.
4. Izmantojiet DNS keÅ”atmiÅu
Ja mÄs runÄjam par lielÄm slodzÄm, tad bez klastera DNS sistÄmas noregulÄÅ”anas dzÄ«ve ir diezgan draÅÄ·Ä«ga. Savulaik Kubernetes izstrÄdÄtÄji atbalstÄ«ja savu kube-dns risinÄjumu. Tas tika ieviests arÄ« Å”eit, taÄu Ŕī programmatÅ«ra nebija Ä«paÅ”i noregulÄta un neradÄ«ja nepiecieÅ”amo veiktspÄju, lai gan Ŕķita, ka tas ir vienkÄrÅ”s uzdevums. Tad parÄdÄ«jÄs coredns, uz kuru mÄs pÄrgÄjÄm, un mums nebija bÄdu; vÄlÄk tas kļuva par noklusÄjuma DNS pakalpojumu K8s. KÄdÄ brÄ«dÄ« DNS sistÄmai izaugÄm lÄ«dz 40 tÅ«kstoÅ”iem rps, un arÄ« Å”is risinÄjums kļuva nepietiekams. Bet, par laimi, iznÄca Nodelocaldns, aka node local cache, aka NodeLocal DNSCache.
KÄpÄc mÄs to izmantojam? Linux kodolÄ ir kļūda, kas, ja vairÄki izsaukumi, izmantojot conntrack NAT, izmantojot UDP, rada sacensÄ«bu nosacÄ«jumu ierakstiem conntrack tabulÄs, un tiek zaudÄta daļa trafika caur NAT (katrs brauciens caur pakalpojumu ir NAT). Nodelocaldns atrisina Å”o problÄmu, atbrÄ«vojoties no NAT un jauninot savienojumu ar TCP uz augÅ”upstraumes DNS, kÄ arÄ« lokÄli saglabÄjot keÅ”atmiÅu augÅ”upÄjÄs DNS vaicÄjumos (tostarp Ä«su 5 sekunžu negatÄ«vo keÅ”atmiÅu).
5. AutomÄtiski mÄrogojiet pÄkstis horizontÄli un vertikÄli
Vai varat ar pÄrliecÄ«bu teikt, ka visi jÅ«su mikropakalpojumi ir gatavi slodzes palielinÄÅ”anai divas lÄ«dz trÄ«s reizes? KÄ pareizi pieŔķirt resursus savÄm lietojumprogrammÄm? Dažu bloku uzturÄÅ”ana, kas pÄrsniedz darba slodzi, var bÅ«t lieki, taÄu, turot tos kopÄ, pastÄv dÄ«kstÄves risks, ko izraisa pÄkÅ”Åa pakalpojuma trafika palielinÄÅ”anÄs. TÄdi pakalpojumi kÄ Horizontal Pod Autoscaler Šø VertikÄlais pods Autoscaler.
BPN ļauj automÄtiski palielinÄt pieprasÄ«jumus/ierobežojumus jÅ«su podÄ esoÅ”ajiem konteineriem atkarÄ«bÄ no faktiskÄ lietojuma. KÄ tas var bÅ«t noderÄ«gs? Ja jums ir podi, kurus kÄda iemesla dÄļ nevar mÄrogot horizontÄli (kas nav pilnÄ«gi uzticams), varat mÄÄ£inÄt uzticÄt tÄ resursu izmaiÅas VPA. TÄ funkcija ir ieteikumu sistÄma, kuras pamatÄ ir vÄsturiskie un paÅ”reizÄjie dati no metrikas servera, tÄdÄļ, ja nevÄlaties automÄtiski mainÄ«t pieprasÄ«jumus/ierobežojumus, varat vienkÄrÅ”i pÄrraudzÄ«t ieteicamos resursus saviem konteineriem un optimizÄt iestatÄ«jumus, lai ietaupÄ«tu CPU un atmiÅa klasterÄ«.
AttÄls Åemts no https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231
Kubernetes plÄnotÄjs vienmÄr ir balstÄ«ts uz pieprasÄ«jumiem. NeatkarÄ«gi no tÄ, kÄdu vÄrtÄ«bu jÅ«s tur ievietojat, plÄnotÄjs meklÄs piemÄrotu mezglu, pamatojoties uz to. RobežvÄrtÄ«bas ir nepiecieÅ”amas, lai kubelets saprastu, kad gÄzÄt vai nogalinÄt pÄksti. Un tÄ kÄ vienÄ«gais svarÄ«gais parametrs ir pieprasÄ«jumu vÄrtÄ«ba, VPA darbosies ar to. Ikreiz, kad mÄrogojat lietojumprogrammu vertikÄli, jÅ«s definÄjat, kÄdiem pieprasÄ«jumiem jÄbÅ«t. Kas tad notiks ar robežÄm? ArÄ« Å”is parametrs tiks proporcionÄli mÄrogots.
Ieteikumu programma nosaka, ka jÅ«su lietojumprogrammai ir nepiecieÅ”ams 300 m CPU un 500 Mi, lai tÄ darbotos pareizi. JÅ«s saÅemsiet Å”Ädus iestatÄ«jumus:
KÄ minÄts iepriekÅ”, Ŕī ir proporcionÄla mÄrogoÅ”ana, pamatojoties uz pieprasÄ«jumu/ierobežojumu attiecÄ«bu manifestÄ:
CentrÄlais procesors: 200 m ā 300 m: attiecÄ«ba 1:1.75;
AtmiÅa: 250Mi ā 500Mi: attiecÄ«ba 1:2.
AttiecÄ«bÄ HPA, tad darbÄ«bas mehÄnisms ir pÄrskatÄmÄks. Metrika, piemÄram, centrÄlais procesors un atmiÅa, tiek ierobežota, un, ja visu reprodukciju vidÄjais rÄdÄ«tÄjs pÄrsniedz slieksni, lietojumprogramma tiek mÄrogota par +1 apakÅ”punktu, lÄ«dz vÄrtÄ«ba nokrÄ«tas zem sliekÅ”Åa vai tiek sasniegts maksimÄlais reprodukciju skaits.
AttÄls Åemts no https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231
Papildus parastajiem rÄdÄ«tÄjiem, piemÄram, centrÄlajam procesoram un atmiÅai, varat iestatÄ«t sliekÅ”Åus saviem Prometheus pielÄgotajiem rÄdÄ«tÄjiem un strÄdÄt ar tiem, ja uzskatÄt, ka tÄ ir visprecÄ«zÄkÄ norÄde par to, kad mÄrogot lietojumprogrammu. Kad lietojumprogramma stabilizÄjas zem noteiktÄ metrikas sliekÅ”Åa, HPA sÄks samazinÄt aplikumu skaitu lÄ«dz minimÄlajam kopiju skaitam vai lÄ«dz slodze sasniegs norÄdÄ«to slieksni.
6. Neaizmirstiet par Node Affinity un Pod Affinity
Ne visi mezgli darbojas ar vienu un to paÅ”u aparatÅ«ru, un ne visiem podiem ir jÄpalaiž skaitļoÅ”anas ietilpÄ«gas lietojumprogrammas. Kubernetes ļauj iestatÄ«t mezglu un podiÅu specializÄciju, izmantojot Mezgla afinitÄte Šø Pod Afinity.
Ja jums ir mezgli, kas ir piemÄroti skaitļoÅ”anas ietilpÄ«gÄm darbÄ«bÄm, tad, lai nodroÅ”inÄtu maksimÄlu efektivitÄti, labÄk ir piesaistÄ«t lietojumprogrammas attiecÄ«gajiem mezgliem. Lai to izdarÄ«tu, izmantojiet nodeSelector ar mezgla etiÄ·eti.
PieÅemsim, ka jums ir divi mezgli: viens ar CPUType=HIGHFREQ un liels skaits Ätro kodolu, cits ar MemoryType=HIGHMEMORY vairÄk atmiÅas un ÄtrÄka veiktspÄja. VienkÄrÅ”Äkais veids ir izvietoÅ”anu pieŔķirt mezglam HIGHFREQpievienojot sadaļai spec Å”is atlasÄ«tÄjs:
ā¦
nodeSelector:
CPUType: HIGHFREQ
DÄrgÄks un specifiskÄks veids, kÄ to izdarÄ«t, ir izmantot nodeAffinity laukÄ affinity razdela spec. Ir divas iespÄjas:
requiredDuringSchedulingIgnoredDuringExecution: cietais iestatÄ«jums (plÄnotÄjs izvietos aplikumus tikai noteiktos mezglos (un nekur citur));
preferredDuringSchedulingIgnoredDuringExecution: mÄ«kstais iestatÄ«jums (plÄnotÄjs mÄÄ£inÄs izvietot konkrÄtus mezglus, un, ja tas neizdodas, tas mÄÄ£inÄs izvietot nÄkamo pieejamo mezglu).
Varat norÄdÄ«t konkrÄtu sintaksi mezglu etiÄ·eÅ”u pÄrvaldÄ«bai, piemÄram, In, NotIn, Exists, DoesNotExist, Gt vai Lt. TomÄr atcerieties, ka sarežģītas metodes garos etiÄ·eÅ”u sarakstos palÄninÄs lÄmumu pieÅemÅ”anu kritiskÄs situÄcijÄs. Citiem vÄrdiem sakot, rÄ«kojieties vienkÄrÅ”i.
KÄ minÄts iepriekÅ”, Kubernetes ļauj iestatÄ«t paÅ”reizÄjo pÄkstu afinitÄti. Tas nozÄ«mÄ, ka varat pÄrliecinÄties, ka noteikti podi darbojas kopÄ ar citiem podiem tajÄ paÅ”Ä pieejamÄ«bas zonÄ (attiecas uz mÄkoÅiem) vai mezgliem.
Š podAffinity robežas affinity razdela spec ir pieejami tie paÅ”i lauki kÄ gadÄ«jumÄ nodeAffinity: requiredDuringSchedulingIgnoredDuringExecutionŠø preferredDuringSchedulingIgnoredDuringExecution. VienÄ«gÄ atŔķirÄ«ba ir tÄ matchExpressions saistÄ«s aplikumus ar mezglu, kurÄ jau darbojas pods ar Å”o etiÄ·eti.
Kubernetes piedÄvÄ arÄ« lauku podAntiAffinity, kas, gluži pretÄji, nesaista pÄksti ar mezglu ar specifiskiem pÄkstiem.
Par izteicieniem nodeAffinity Var dot to paÅ”u padomu: mÄÄ£iniet saglabÄt noteikumus vienkÄrÅ”us un loÄ£iskus, nemÄÄ£iniet pÄrslogot pod specifikÄciju ar sarežģītu noteikumu kopumu. Ir ļoti vienkÄrÅ”i izveidot noteikumu, kas neatbilst klastera nosacÄ«jumiem, radot nevajadzÄ«gu slodzi plÄnotÄjam un samazinot kopÄjo veiktspÄju.
7. BojÄjumi un pielaides
Ir vÄl viens veids, kÄ pÄrvaldÄ«t plÄnotÄju. Ja jums ir liels klasteris ar simtiem mezglu un tÅ«kstoÅ”iem mikropakalpojumu, ir ļoti grÅ«ti neļaut noteiktos mezglos mitinÄt noteiktus pÄkstis.
SasmÄrÄÅ”anÄs mehÄnisms ā aizliedzoÅ”ie noteikumi ā palÄ«dz Å”ajÄ jautÄjumÄ. PiemÄram, noteiktos scenÄrijos varat aizliegt noteiktiem mezgliem palaist podziÅus. Lai piemÄrotu piesÄrÅojumu konkrÄtam mezglam, ir jÄizmanto opcija taint in kubectl. NorÄdiet atslÄgu un vÄrtÄ«bu un pÄc tam sabojÄjiet NoSchedule vai NoExecute:
Ir arÄ« vÄrts atzÄ«mÄt, ka bojÄjuma mehÄnisms atbalsta trÄ«s galvenos efektus: NoSchedule, NoExecute Šø PreferNoSchedule.
NoSchedulenozÄ«mÄ, ka pagaidÄm pod specifikÄcijÄ atbilstoÅ”a ieraksta nebÅ«s tolerations, to nevarÄs izvietot mezglÄ (Å”ajÄ piemÄrÄ node10).
PreferNoSchedule - vienkÄrÅ”ota versija NoSchedule. Å ajÄ gadÄ«jumÄ plÄnotÄjs mÄÄ£inÄs nepieŔķirt aplikumus, kuriem nav atbilstoÅ”a ieraksta tolerations katram mezglam, taÄu tas nav stingrs ierobežojums. Ja klasterÄ« nav resursu, Å”ajÄ mezglÄ tiks izvietoti podi.
NoExecute- Å”is efekts izraisa tÅ«lÄ«tÄju to pÄkstÄ«m, kurÄm nav atbilstoÅ”a ieraksta, evakuÄciju tolerations.
Interesanti, ka Å”o uzvedÄ«bu var atcelt, izmantojot pielaides mehÄnismu. Tas ir Ärti, ja ir āaizliegtsā mezgls un tajÄ ir jÄizvieto tikai infrastruktÅ«ras pakalpojumi. KÄ to izdarÄ«t? Atļaut tikai tÄs pÄkstis, kurÄm ir piemÄrota pielaide.
Tas nenozÄ«mÄ, ka nÄkamÄ pÄrizvietoÅ”ana notiks Å”ajÄ konkrÄtajÄ mezglÄ, tas nav mezgla afinitÄtes mehÄnisms un nodeSelector. Bet, apvienojot vairÄkas funkcijas, varat sasniegt ļoti elastÄ«gus plÄnotÄja iestatÄ«jumus.
8. Iestatiet Pod izvietoÅ”anas prioritÄti
Tas, ka jums ir mezgliem pieŔķirti podi, nenozÄ«mÄ, ka visi podi ir jÄapstrÄdÄ ar vienÄdu prioritÄti. PiemÄram, iespÄjams, vÄlÄsities izvietot dažus aplikumus pirms citiem.
Kubernetes piedÄvÄ dažÄdus veidus, kÄ konfigurÄt Pod Priority un Preemption. IestatÄ«jums sastÄv no vairÄkÄm daļÄm: objekts PriorityClassun lauku apraksti priorityClassNamepod specifikÄcijÄ. ApskatÄ«sim piemÄru:
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: high-priority
value: 99999
globalDefault: false
description: "This priority class should be used for very important pods only"
MÄs radÄm PriorityClass, pieŔķiriet tai nosaukumu, aprakstu un vÄrtÄ«bu.Jo augstÄks value, jo augstÄka prioritÄte. VÄrtÄ«ba var bÅ«t jebkurÅ” 32 bitu vesels skaitlis, kas ir mazÄks vai vienÄds ar 1 000 000 000. AugstÄkas vÄrtÄ«bas ir rezervÄtas uzdevumiem kritiskÄm sistÄmas aplikÄcijÄm, kuras parasti nevar novÄrst.PÄrvietoÅ”anÄs notiks tikai tad, ja augstas prioritÄtes podam nav kur apgriezties, tad daļa no noteikta mezgla pÄkstÄ«m tiks evakuÄta. Ja Å”is mehÄnisms jums ir pÄrÄk stingrs, varat pievienot opciju preemptionPolicy: Never, un tad nebÅ«s priekÅ”rocÄ«bu, pods stÄvÄs pirmais rindÄ un gaidÄ«s, kamÄr plÄnotÄjs atradÄ«s tam brÄ«vus resursus.
TÄlÄk mÄs izveidojam podiÅu, kurÄ norÄdÄm nosaukumu priorityClassName:
apiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
priorityClassName: high-priority
JÅ«s varat izveidot tik daudz prioritÄro nodarbÄ«bu, cik vÄlaties, lai gan ieteicams ar to neaizrauties (teiksim, ierobežot sevi ar zemu, vidÄju un augstu prioritÄti).
ETCD var saukt par visa klastera smadzenÄm. Ir ļoti svarÄ«gi uzturÄt Ŕīs datu bÄzes darbÄ«bu augstÄ lÄ«menÄ«, jo no tÄ ir atkarÄ«gs operÄciju Ätrums Cube. Diezgan standarta un tajÄ paÅ”Ä laikÄ labs risinÄjums bÅ«tu saglabÄt ETCD klasteru galvenajos mezglos, lai kube-apiserveram bÅ«tu minimÄla aizkave. Ja nevarat to izdarÄ«t, novietojiet ETCD pÄc iespÄjas tuvÄk, nodroÅ”inot labu joslas platumu starp dalÄ«bniekiem. PievÄrsiet uzmanÄ«bu arÄ« tam, cik mezglu no ETCD var izkrist, nekaitÄjot klasterim
Paturiet prÄtÄ, ka pÄrmÄrÄ«ga klastera dalÄ«bnieku skaita palielinÄÅ”ana var palielinÄt kļūdu toleranci uz veiktspÄjas rÄÄ·ina, visam jÄbÅ«t mÄrenam.
Ja mÄs runÄjam par pakalpojuma iestatÄ«Å”anu, ir daži ieteikumi:
Ir laba aparatūra, pamatojoties uz klastera lielumu (varat lasīt Ŕeit).
PielÄgojiet dažus parametrus, ja esat izplatÄ«jis kopu starp DC pÄriem vai tÄ«klu un diski atstÄj daudz vÄlamo (varat lasÄ«t Å”eit).
SecinÄjums
Å ajÄ rakstÄ ir aprakstÄ«ti punkti, kurus mÅ«su komanda cenÅ”as ievÄrot. Å is nav detalizÄts darbÄ«bu apraksts, bet gan opcijas, kas var bÅ«t noderÄ«gas klastera pieskaitÄmÄs izmaksas. Ir skaidrs, ka katrs klasteris ir unikÄls savÄ veidÄ, un konfigurÄcijas risinÄjumi var ievÄrojami atŔķirties, tÄpÄc bÅ«tu interesanti uzzinÄt jÅ«su atsauksmes par to, kÄ uzraugÄt savu Kubernetes klasteru un kÄ uzlabojat tÄ veiktspÄju. Dalieties pieredzÄ komentÄros, bÅ«s interesanti uzzinÄt.