Mẹsan Kubernetes Performance Tips

Mẹsan Kubernetes Performance Tips

Bawo ni gbogbo eniyan! Orukọ mi ni Oleg Sidorenkov, Mo ṣiṣẹ ni DomClick bi olori ti egbe amayederun. A ti nlo Kubik ni iṣelọpọ fun diẹ sii ju ọdun mẹta lọ, ati ni akoko yii a ti ni iriri ọpọlọpọ awọn akoko igbadun pupọ pẹlu rẹ. Loni Emi yoo sọ fun ọ bii, pẹlu ọna ti o tọ, o le fun pọ iṣẹ ṣiṣe diẹ sii lati fanila Kubernetes fun iṣupọ rẹ. Ṣetan imurasilẹ lọ!

Gbogbo rẹ mọ daradara pe Kubernetes jẹ eto orisun ṣiṣi ti iwọn fun orchestration eiyan; daradara, tabi 5 alakomeji ti o ṣiṣẹ idan nipa ìṣàkóso awọn aye ọmọ ti rẹ microservices ni a olupin ayika. Ni afikun, o jẹ ohun elo ti o ni irọrun ti o ni irọrun ti o le pejọ bi Lego fun isọdi ti o pọju fun awọn iṣẹ ṣiṣe oriṣiriṣi.

Ati pe ohun gbogbo dabi pe o dara: jabọ awọn olupin sinu iṣupọ bi igi ina sinu apoti ina, ati pe iwọ kii yoo mọ ibanujẹ eyikeyi. Ṣugbọn ti o ba wa fun ayika, iwọ yoo ronu: “Bawo ni MO ṣe le jẹ ki ina jó ki o si da igbo naa si?” Ni awọn ọrọ miiran, bii o ṣe le wa awọn ọna lati mu ilọsiwaju awọn amayederun ati dinku awọn idiyele.

1. Bojuto egbe ati ohun elo oro

Mẹsan Kubernetes Performance Tips

Ọkan ninu ibi ti o wọpọ julọ, ṣugbọn awọn ọna ti o munadoko jẹ ifihan awọn ibeere / awọn opin. Pin awọn ohun elo nipasẹ awọn aaye orukọ, ati awọn aaye orukọ nipasẹ awọn ẹgbẹ idagbasoke. Ṣaaju imuṣiṣẹ, ṣeto awọn iye ohun elo fun lilo akoko ero isise, iranti, ati ibi ipamọ ephemeral.

resources:
   requests:
     memory: 2Gi
     cpu: 250m
   limits:
     memory: 4Gi
     cpu: 500m

Nipasẹ iriri, a wa si ipari: o ko yẹ ki o fa awọn ibeere lati awọn opin nipasẹ diẹ sii ju ẹẹmeji lọ. Iwọn ti iṣupọ naa jẹ iṣiro ti o da lori awọn ibeere, ati pe ti o ba fun awọn ohun elo ni iyatọ ninu awọn ohun elo, fun apẹẹrẹ, awọn akoko 5-10, lẹhinna ronu ohun ti yoo ṣẹlẹ si ipade rẹ nigbati o ba kun pẹlu awọn adarọ-ese ati lojiji gba ẹru. Ko si ohun ti o dara. Ni o kere ju, fifun, ati ni o pọju, iwọ yoo sọ o dabọ si oṣiṣẹ naa ati ki o gba fifuye kẹkẹ lori awọn apa ti o ku lẹhin ti awọn podu bẹrẹ gbigbe.

Ni afikun, pẹlu iranlọwọ limitranges Ni ibẹrẹ, o le ṣeto awọn iye orisun fun eiyan - o kere ju, o pọju ati aiyipada:

➜  ~ 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

Maṣe gbagbe lati fi opin si awọn orisun aaye orukọ ki ẹgbẹ kan ko le gba gbogbo awọn orisun ti iṣupọ naa:

➜  ~ kubectl describe resourcequotas --namespace ops
Name:                   resource-quota
Namespace:              ops
Resource                Used          Hard
--------                ----          ----
limits.cpu              77250m        80
limits.memory           124814367488  150Gi
pods                    31            45
requests.cpu            53850m        80
requests.memory         75613234944   150Gi
services                26            50
services.loadbalancers  0             0
services.nodeports      0             0

Bi o ti le ri lati apejuwe resourcequotas, ti ẹgbẹ ops ba fẹ lati fi awọn adarọ-ese ti yoo jẹ 10 cpu miiran, oluṣeto kii yoo gba eyi laaye ati pe yoo jabọ aṣiṣe kan:

Error creating: pods "nginx-proxy-9967d8d78-nh4fs" is forbidden: exceeded quota: resource-quota, requested: limits.cpu=5,requests.cpu=5, used: limits.cpu=77250m,requests.cpu=53850m, limited: limits.cpu=10,requests.cpu=10

Lati yanju iru iṣoro bẹ, o le kọ ọpa kan, fun apẹẹrẹ, bii eyi, ni anfani lati fipamọ ati ṣe ipo awọn orisun aṣẹ.

2. Yan ibi ipamọ faili ti o dara julọ

Mẹsan Kubernetes Performance Tips

Nibi Emi yoo fẹ lati fi ọwọ kan koko-ọrọ ti awọn ipele itẹramọṣẹ ati eto disiki ti awọn apa oṣiṣẹ Kubernetes. Mo nireti pe ko si ẹnikan ti o lo “Cube” lori HDD ni iṣelọpọ, ṣugbọn nigbakan SSD deede ko to. A pade iṣoro kan nibiti awọn akọọlẹ ti npa disk naa nitori awọn iṣẹ I/O, ati pe ko si ọpọlọpọ awọn solusan:

  • Lo awọn SSD ti o ni iṣẹ giga tabi yipada si NVMe (ti o ba ṣakoso ohun elo tirẹ).

  • Din ipele gedu.

  • Ṣe iwọntunwọnsi “ọlọgbọn” ti awọn adarọ-ese ti o fipa ba disk naa jẹ (podAntiAffinity).

Iboju ti o wa loke fihan ohun ti o ṣẹlẹ labẹ nginx-ingress-controller si disk nigbati wiwọle_logs ti ṣiṣẹ (~ 12 ẹgbẹrun logs / iṣẹju-aaya). Ipo yii, dajudaju, le ja si ibajẹ ti gbogbo awọn ohun elo lori ipade yii.

Bi fun PV, alas, Emi ko gbiyanju ohun gbogbo awọn iwo Awọn iwọn didun igbagbogbo. Lo aṣayan ti o dara julọ ti o baamu. Itan-akọọlẹ, o ti ṣẹlẹ ni orilẹ-ede wa pe apakan kekere ti awọn iṣẹ nilo awọn iwọn didun RWX, ati ni igba pipẹ sẹyin wọn bẹrẹ lati lo ibi ipamọ NFS fun iṣẹ yii. Olowo poku ati... to. Nitoribẹẹ, oun ati emi jẹ shit - bukun fun ọ, ṣugbọn a kọ ẹkọ lati tune, ati pe ori mi ko ni ipalara mọ. Ati pe ti o ba ṣeeṣe, gbe lọ si ibi ipamọ ohun S3.

3. Gba awọn aworan iṣapeye

Mẹsan Kubernetes Performance Tips

O dara julọ lati lo awọn aworan iṣapeye eiyan ki Kubernetes le mu wọn yarayara ki o mu wọn ṣiṣẹ daradara siwaju sii. 

Iṣapeye tumọ si pe awọn aworan:

  • ni ohun elo kan nikan tabi ṣe iṣẹ kan ṣoṣo;

  • kekere ni iwọn, nitori ti o tobi awọn aworan ti wa ni zqwq buru lori awọn nẹtiwọki;

  • ni ilera ati awọn aaye ipari imurasilẹ ti o gba Kubernetes laaye lati ṣe iṣe ni iṣẹlẹ ti downtime;

  • lo eiyan-ore awọn ọna šiše (bi Alpine tabi CoreOS), eyi ti o wa siwaju sii sooro si iṣeto ni aṣiṣe;

  • lo awọn ipilẹ ipele-pupọ ki o le fi awọn ohun elo ti a ṣajọpọ nikan ṣe kii ṣe awọn orisun ti o tẹle.

Awọn irinṣẹ ati awọn iṣẹ lọpọlọpọ lo wa ti o gba ọ laaye lati ṣayẹwo ati mu awọn aworan dara si lori fifo. O ṣe pataki lati tọju wọn nigbagbogbo ati idanwo fun ailewu. Bi abajade, o gba:

  1. Dinku fifuye nẹtiwọki lori gbogbo iṣupọ.

  2. Idinku akoko ibẹrẹ eiyan.

  3. Iwọn kekere ti gbogbo iforukọsilẹ Docker rẹ.

4. Lo DNS kaṣe

Mẹsan Kubernetes Performance Tips

Ti a ba sọrọ nipa awọn ẹru giga, lẹhinna igbesi aye jẹ ohun ti o buruju laisi yiyi eto DNS iṣupọ naa. Ni ẹẹkan, awọn olupilẹṣẹ Kubernetes ṣe atilẹyin ojutu kube-dns wọn. O tun ṣe imuse nibi, ṣugbọn sọfitiwia yii ko ni aifwy ni pataki ati pe ko gbejade iṣẹ ti o nilo, botilẹjẹpe o dabi pe o jẹ iṣẹ ti o rọrun. Lẹhinna awọn coredns han, eyiti a yipada si ko si ni ibinujẹ; lẹhinna o di iṣẹ DNS aiyipada ni K8s. Ni aaye kan, a dagba si 40 ẹgbẹrun rps si eto DNS, ati pe ojutu yii tun di aipe. Ṣugbọn, nipa orire, Nodelocaldns jade, aka node local cache, aka NodeLocal DNSCache.

Kini idi ti a fi lo eyi? Kokoro kan wa ninu ekuro Linux ti, nigbati ọpọlọpọ awọn ipe nipasẹ conntrack NAT lori UDP, yorisi ipo ere-ije fun awọn titẹ sii ni awọn tabili conntrack, ati apakan ti ijabọ nipasẹ NAT ti sọnu (irin-ajo kọọkan nipasẹ Iṣẹ jẹ NAT). Nodelocaldns yanju iṣoro yii nipa yiyọ NAT kuro ati imudara asopọ si TCP si oke DNS, bakanna bi caching tibile awọn ibeere DNS oke (pẹlu kaṣe odi kukuru 5-aaya).

5. Asekale pods nâa ati inaro laifọwọyi

Mẹsan Kubernetes Performance Tips

Njẹ o le sọ pẹlu igboiya pe gbogbo awọn iṣẹ microservices ti ṣetan fun ilosoke meji si mẹta ni fifuye? Bii o ṣe le pin awọn orisun daradara si awọn ohun elo rẹ? Mimu awọn adarọ-ese meji ti o nṣiṣẹ kọja iṣẹ-ṣiṣe le jẹ laiṣe, ṣugbọn titọju wọn pada si ẹhin n ṣiṣẹ eewu ti akoko idaduro lati ilosoke lojiji ni ijabọ si iṣẹ naa. Awọn iṣẹ bii Petele podu Autoscaler и Inaro podu Autoscaler.

VPA gba ọ laaye lati gbe awọn ibeere / awọn opin ti awọn apoti rẹ sinu adarọ ese da lori lilo gangan. Bawo ni o ṣe le wulo? Ti o ba ni awọn adarọ-ese ti ko le ṣe iwọn ni ita fun idi kan (eyiti ko ṣe igbẹkẹle patapata), lẹhinna o le gbiyanju gbigbe awọn ayipada si awọn orisun rẹ si VPA. Ẹya rẹ jẹ eto iṣeduro ti o da lori itan-akọọlẹ ati data lọwọlọwọ lati olupin metric, nitorinaa ti o ko ba fẹ yi awọn ibeere / awọn opin pada laifọwọyi, o le jiroro ni ṣe atẹle awọn orisun ti a ṣeduro fun awọn apoti rẹ ki o mu awọn eto pọ si lati ṣafipamọ Sipiyu ati iranti ni iṣupọ.

Mẹsan Kubernetes Performance TipsAworan ti a ya lati https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

Oluṣeto ni Kubernetes nigbagbogbo da lori awọn ibeere. Eyikeyi iye ti o fi sibẹ, oluṣeto yoo wa ipade ti o dara ti o da lori rẹ. Awọn iye opin ni a nilo fun cubelet lati loye nigbati o le fa tabi pa podu naa. Ati pe niwọn bi paramita pataki nikan ni iye awọn ibeere, VPA yoo ṣiṣẹ pẹlu rẹ. Nigbakugba ti o ba ṣe iwọn ohun elo ni inaro, o ṣalaye kini awọn ibeere yẹ ki o jẹ. Kini yoo ṣẹlẹ si awọn opin lẹhinna? Paramita yii yoo tun jẹ iwọn ni iwọn.

Fun apẹẹrẹ, eyi ni awọn eto adarọ-ese deede:

resources:
   requests:
     memory: 250Mi
     cpu: 200m
   limits:
     memory: 500Mi
     cpu: 350m

Ẹrọ iṣeduro pinnu pe ohun elo rẹ nilo Sipiyu 300m ati 500Mi lati ṣiṣẹ daradara. Iwọ yoo gba awọn eto wọnyi:

resources:
   requests:
     memory: 500Mi
     cpu: 300m
   limits:
     memory: 1000Mi
     cpu: 525m

Gẹgẹbi a ti mẹnuba loke, eyi jẹ iwọn iwọn ti o da lori awọn ibeere/ipin awọn opin ninu ifihan:

  • Sipiyu: 200m → 300m: ipin 1: 1.75;

  • Iranti: 250Mi → 500Mi: ipin 1: 2.

Pẹlu iyi si HPA, lẹhinna ilana ti iṣiṣẹ jẹ diẹ sii sihin. Awọn wiwọn bii Sipiyu ati iranti jẹ iloro, ati pe ti aropin gbogbo awọn ẹda ti o kọja iloro, ohun elo naa jẹ iwọn nipasẹ +1 iha titi iye yoo ṣubu ni isalẹ iloro tabi titi ti nọmba awọn ẹda ti o pọju yoo ti de.

Mẹsan Kubernetes Performance TipsAworan ti a ya lati https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

Ni afikun si awọn metiriki deede bii Sipiyu ati iranti, o le ṣeto awọn ala lori awọn metiriki aṣa rẹ lati Prometheus ki o ṣiṣẹ pẹlu wọn ti o ba ro pe iyẹn ni itọkasi deede julọ ti igba lati ṣe iwọn ohun elo rẹ. Ni kete ti ohun elo naa ba duro ni isalẹ ala-ilẹ metiriki ti a sọ, HPA yoo bẹrẹ lati ṣe iwọn awọn adarọ-ese si isalẹ si nọmba ti o kere ju ti awọn ẹda tabi titi ti ẹru naa yoo fi pade iloro ti a sọ.

6. Maṣe gbagbe nipa Node Affinity ati Pod Affinity

Mẹsan Kubernetes Performance Tips

Kii ṣe gbogbo awọn apa nṣiṣẹ lori ohun elo kanna, ati pe kii ṣe gbogbo awọn adarọ-ese nilo lati ṣiṣẹ awọn ohun elo to lekoko. Kubernetes gba ọ laaye lati ṣeto iyasọtọ ti awọn apa ati awọn adarọ-ese ni lilo Isokan Node и Pod ijora.

Ti o ba ni awọn apa ti o dara fun awọn iṣẹ ṣiṣe iṣiro, lẹhinna fun ṣiṣe ti o pọju o dara lati di awọn ohun elo si awọn apa ti o baamu. Lati ṣe eyi lo nodeSelector pẹlu aami ipade.

Jẹ ká sọ pé o ni meji apa: ọkan pẹlu CPUType=HIGHFREQ ati kan ti o tobi nọmba ti sare ohun kohun, miiran pẹlu MemoryType=HIGHMEMORY diẹ iranti ati yiyara išẹ. Ọna to rọọrun ni lati fi iṣiṣẹ si ipade kan HIGHFREQnipa fifi si apakan spec oluyan yii:

…
nodeSelector:
	CPUType: HIGHFREQ

Ọna ti o gbowolori diẹ sii ati pato lati ṣe eyi ni lati lo nodeAffinity ni aaye affinity apakan spec. Awọn aṣayan meji wa:

  • requiredDuringSchedulingIgnoredDuringExecution: eto lile (oluṣeto yoo ran awọn adarọ-ese nikan lori awọn apa kan pato (ati pe ko si ibi miiran));

  • preferredDuringSchedulingIgnoredDuringExecution: asọ eto (awọn scheduler yoo gbiyanju lati ran awọn si awọn kan pato apa, ati ti o ba ti kuna, o yoo gbiyanju lati ran awọn si tókàn wa ipade).

O le pato sintasi kan pato fun ṣiṣakoso awọn aami ipade, gẹgẹbi In, NotIn, Exists, DoesNotExist, Gt tabi Lt. Sibẹsibẹ, ranti pe awọn ọna idiju ninu awọn atokọ gigun ti awọn aami yoo fa fifalẹ ṣiṣe ipinnu ni awọn ipo to ṣe pataki. Ni awọn ọrọ miiran, jẹ ki o rọrun.

Gẹgẹbi a ti sọ loke, Kubernetes gba ọ laaye lati ṣeto ibaramu ti awọn adarọ-ese lọwọlọwọ. Iyẹn ni, o le rii daju pe awọn adarọ-ese kan ṣiṣẹ papọ pẹlu awọn adarọ-ese miiran ni agbegbe wiwa kanna (ti o wulo fun awọn awọsanma) tabi awọn apa.

В podAffinity awọn aaye affinity apakan spec awọn aaye kanna wa bi ninu ọran ti nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution и preferredDuringSchedulingIgnoredDuringExecution. Iyatọ nikan ni pe matchExpressions yoo di awọn adarọ-ese si ipade ti o ti n ṣiṣẹ podu tẹlẹ pẹlu aami yẹn.

Kubernetes tun funni ni aaye kan podAntiAffinity, eyi ti, ni ilodi si, ko so podu naa si ipade pẹlu awọn podu kan pato.

Nipa awọn ikosile nodeAffinity Imọran kanna ni a le fun: gbiyanju lati jẹ ki awọn ofin jẹ ki o rọrun ati ọgbọn, maṣe gbiyanju lati apọju sipesifikesonu podu pẹlu ṣeto awọn ofin eka kan. O rọrun pupọ lati ṣẹda ofin ti kii yoo baamu awọn ipo ti iṣupọ, ṣiṣẹda ẹru ti ko wulo lori oluṣeto ati idinku iṣẹ ṣiṣe gbogbogbo.

7. Taints & Tolerances

Ọna miiran wa lati ṣakoso oluṣeto. Ti o ba ni iṣupọ nla pẹlu awọn ọgọọgọrun awọn apa ati ẹgbẹẹgbẹrun awọn iṣẹ microservices, lẹhinna o nira pupọ lati ma gba laaye awọn podu kan lati gbalejo lori awọn apa kan.

Ilana ti awọn taints - awọn ofin idinamọ - ṣe iranlọwọ pẹlu eyi. Fun apẹẹrẹ, ninu awọn oju iṣẹlẹ kan o le fàyègba awọn apa kan lati ṣiṣiṣẹ awọn adarọ-ese. Lati kan taint si ipade kan pato o nilo lati lo aṣayan naa taint ninu kubectl. Pato bọtini ati iye ati lẹhinna taint bi NoSchedule tabi NoExecute:

$ kubectl taint nodes node10 node-role.kubernetes.io/ingress=true:NoSchedule

O tun tọ lati ṣe akiyesi pe ẹrọ taint ṣe atilẹyin awọn ipa akọkọ mẹta: NoSchedule, NoExecute и PreferNoSchedule.

  • NoSchedule tumọ si pe fun bayi kii yoo si titẹsi ti o baamu ni sipesifikesonu podu tolerations, kii yoo ni anfani lati gbe lọ sori ipade (ni apẹẹrẹ yii node10).

  • PreferNoSchedule - yepere version NoSchedule. Ni ọran yii, oluṣeto yoo gbiyanju lati ma pin awọn adarọ-ese ti ko ni titẹ sii ibaramu tolerations fun ipade, ṣugbọn eyi kii ṣe aropin lile. Ti ko ba si awọn orisun ninu iṣupọ, lẹhinna awọn pods yoo bẹrẹ lati ransogun lori ipade yii.

  • NoExecute - ipa yii nfa itusilẹ lẹsẹkẹsẹ ti awọn adarọ-ese ti ko ni titẹsi ti o baamu tolerations.

O yanilenu, ihuwasi yii le fagilee nipa lilo ẹrọ ifarada. Eyi rọrun nigbati ipade “eewọ” wa ati pe o nilo lati gbe awọn iṣẹ amayederun sori rẹ nikan. Bawo ni lati ṣe? Gba laaye awọn adarọ-ese nikan fun eyiti ifarada ti o yẹ wa.

Eyi ni kini sipesifikesonu podu yoo dabi:

spec:
   tolerations:
     - key: "node-role.kubernetes.io/ingress"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"

Eyi ko tumọ si pe atunkọ ti nbọ yoo ṣubu lori ipade pato yii, eyi kii ṣe ẹrọ Affinity Node ati nodeSelector. Ṣugbọn nipa apapọ awọn ẹya pupọ, o le ṣaṣeyọri awọn eto iṣeto ti o rọ pupọ.

8. Ṣeto Pod imuṣiṣẹ ni ayo

Nitoripe o ni awọn podu ti a yàn si awọn apa ko tumọ si pe gbogbo awọn podu gbọdọ wa ni itọju pẹlu pataki kanna. Fun apẹẹrẹ, o le fẹ lati ran diẹ ninu awọn podu ṣaaju awọn miiran.

Kubernetes nfunni ni awọn ọna oriṣiriṣi lati tunto Pod Priority ati Preemption. Eto naa ni awọn ẹya pupọ: nkan PriorityClass ati awọn apejuwe aaye priorityClassName ninu awọn podu sipesifikesonu. Jẹ ki a wo apẹẹrẹ:

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"

A ṣẹda PriorityClass, fun o orukọ kan, apejuwe ati iye. Ti o ga julọ value, awọn ti o ga ni ayo. Awọn iye le jẹ eyikeyi 32-bit odidi kere ju tabi dogba si 1. Awọn iye ti o ga wa ni ipamọ fun ise-lominu ni eto pods ti gbogbo ko le wa ni preempted. Iṣipopada yoo waye nikan ti adarọ-ese ti o ga julọ ko ni aye lati yi pada, lẹhinna diẹ ninu awọn podu lati oju ipade kan yoo jade kuro. Ti ẹrọ yii ba jẹ lile fun ọ, o le ṣafikun aṣayan naa preemptionPolicy: Never, ati lẹhinna kii yoo wa ni iṣaaju, podu naa yoo duro ni akọkọ ni isinyi ati duro fun oluṣeto lati wa awọn orisun ọfẹ fun rẹ.

Nigbamii, a ṣẹda podu ninu eyiti a tọka orukọ naa 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
          

O le ṣẹda bi ọpọlọpọ awọn kilasi ayo bi o ba fẹ, biotilejepe o ti wa ni niyanju ko lati gba kuro pẹlu yi (wi, idinwo ara rẹ si kekere, alabọde ati ki o ga ni ayo).

Nitorinaa, ti o ba jẹ dandan, o le mu iṣẹ ṣiṣe ti mimuṣiṣẹ awọn iṣẹ pataki bii nginx-ingress-controller, coredns, ati bẹbẹ lọ.

9. Je ki awọn ETCD iṣupọ

Mẹsan Kubernetes Performance Tips

ETCD ni a le pe ni ọpọlọ ti gbogbo iṣupọ. O ṣe pataki pupọ lati ṣetọju iṣẹ data yii ni ipele giga, nitori iyara awọn iṣẹ ni Cube da lori rẹ. Iwọn deede, ati ni akoko kanna, ojutu ti o dara yoo jẹ lati tọju iṣupọ ETCD sori awọn apa ọga lati le ni idaduro ti o kere ju si kube-apiserver. Ti o ko ba le ṣe eyi, lẹhinna gbe ETCD sunmọ bi o ti ṣee ṣe, pẹlu bandiwidi to dara laarin awọn olukopa. Tun san ifojusi si iye awọn apa lati ETCD le ṣubu laisi ipalara si iṣupọ naa

Mẹsan Kubernetes Performance Tips

Ni lokan pe jijẹ nọmba awọn ọmọ ẹgbẹ lọpọlọpọ ninu iṣupọ le mu ifarada ẹbi pọ si laibikita iṣẹ ṣiṣe, ohun gbogbo yẹ ki o wa ni iwọntunwọnsi.

Ti a ba sọrọ nipa siseto iṣẹ naa, awọn iṣeduro diẹ wa:

  1. Ni ohun elo to dara, da lori iwọn iṣupọ (o le ka nibi).

  2. Tweak awọn ayewọn diẹ ti o ba ti tan iṣupọ kan laarin bata ti DCs tabi nẹtiwọọki rẹ ati awọn disiki fi silẹ pupọ lati fẹ (o le ka nibi).

ipari

Nkan yii ṣapejuwe awọn aaye ti ẹgbẹ wa gbiyanju lati ni ibamu. Eyi kii ṣe apejuwe igbese-nipasẹ-igbesẹ ti awọn iṣe, ṣugbọn awọn aṣayan ti o le wulo fun iṣapeye iṣupọ lori oke. O han gbangba pe iṣupọ kọọkan jẹ alailẹgbẹ ni ọna tirẹ, ati awọn solusan atunto le yatọ pupọ, nitorinaa yoo jẹ ohun ti o nifẹ lati gba esi rẹ lori bii o ṣe ṣe atẹle iṣupọ Kubernetes rẹ ati bii o ṣe mu iṣẹ rẹ dara si. Pin iriri rẹ ninu awọn asọye, yoo jẹ ohun ti o nifẹ lati mọ.

orisun: www.habr.com