Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

Dib ugu noqo 2016 waxaan joognaa Buffer U wareegay Kubernetes, oo hadda ilaa 60 nodes (ku jira AWS) iyo 1500 weel ayaa ka shaqaynaya kooxdayada k8s oo ay maamusho kops. Si kastaba ha ahaatee, waxaan u guurnay adeeg-yaraha iyada oo loo marayo tijaabo iyo khalad, xitaa dhowr sano ka dib markii aan la shaqeynay k8s waxaan wali la kulannaa dhibaatooyin cusub. Qoraalkan waxaan kaga hadli doonaa xaddidaadaha processor-ka: sababta aan ugu maleynay inay yihiin dhaqan wanaagsan iyo sababta ay ugu dambeyntii u fiicnaan waayeen.

Xaddidaadaha processor-ka iyo ceejinta

Sida isticmaalayaasha kale ee Kubernetes, Google wuxuu aad ugu talinayaa in la dejiyo xadka CPU. La'aanteed goobtan oo kale, weelasha ku jira noodhka waxay qaadan karaan dhammaan awoodda processor-ka, taas oo markaa keenta hababka muhiimka ah ee Kubernetes (tusaale ahaan. kubelet) joojin doonaa ka jawaabista codsiyada. Markaa, dejinta xadka CPU waa hab wanaagsan oo lagu ilaaliyo noodhkaaga.

Xadadka Processor-ku waxay dejiyaan weelka ilaa wakhtiga ugu badan ee CPU uu isticmaali karo muddo cayiman (ugu taladu waa 100ms), weelkuna waligii kama dhaafi doono xadkan. Kubernetes ku yaal cuncunid weel oo ka ilaali in uu dhaafo xadka, qalab gaar ah ayaa loo isticmaalaa Kootada CFS, laakiin kuwan xaddidan ee CPU-ga macmalka ah waxay ku dhamaanayaan inay dhaawacaan waxqabadka iyo kordhinta wakhtiga jawaabta weelashaada.

Maxaa dhici kara haddii aynaan dejin xadka processor-ka?

Nasiib darro, innaga lafteena ayaa ku qasbanaaday in aan wajahno dhibaatadan. Nod kastaa waxa uu leeyahay nidaam ka masuul ah maaraynta weelasha kubelet, wuuna joojiyay ka jawaabista codsiyada. Noodka, marka tani dhacdo, waxay geli doontaa gobolka NotReady, iyo weelasha ka soo baxa ayaa loo wareejin doonaa meel kale waxayna abuuri doonaan dhibaatooyin isku mid ah qanjidhada cusub. Ma ahan xaalad ku habboon, in la yiraahdo ugu yaraan.

Muujinta dhibaatada ceejinta iyo jawaab celinta

Halbeegga muhiimka ah ee raadraaca weelka waa trottling, waxay ku tusinaysaa inta jeer ee weelkaaga la ceejiyey. Waxaan si xiiso leh u ogaanay joogitaanka ceejinta weelasha qaarkood, iyadoon loo eegin in culeyska processor-ku uu yahay mid xad dhaaf ah iyo in kale. Tusaale ahaan, aan eegno mid ka mid ah API-yadayada ugu muhiimsan:

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

Sida aad hoos ku arki karto, waxaanu dejinay xadka 800m (0.8 ama 80% xudunta ah), iyo qiyamka ugu sarreeya ee la gaari karo 200m (20% xudunta). Waxay u egtahay in ka hor inta aan la xayirin adeegga aan weli haysanno awood badan oo processor ah, si kastaba ha ahaatee ...

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU
Waxaa laga yaabaa inaad dareentay in xitaa marka culeyska processor-ku uu ka hooseeyo xadka la cayimay - si weyn uga hooseeya - xannibaadda ayaa weli dhacda.

Arrinkan na hortimid, waxa aanu isla markiiba ogaanay ilo dhawr ah (dhibaatada github, bandhigga zadano, post on omio) ku saabsan hoos u dhaca waxqabadka iyo wakhtiga jawaab celinta ee ay sabab u tahay ceejinta.

Waa maxay sababta aan u aragno cuncun oo culeyska CPU hooseeyo? Nooca gaaban waa: "asalka ugu muhiimsan" Linux Waxaa jira cillad keenta ceejinta aan loo baahnayn ee weelasha leh xaddidaad CPU oo cayiman." Haddii aad xiisaynayso nooca dhibaatada, waxaad eegi kartaa bandhigga (видео и qoraal fursadaha) by Dave Chiluk.

Ka saarida xannibaadaha CPU (iyada oo taxaddar aad u daran)

Wadahadal dheer ka dib, waxaan go'aansanay inaan ka saarno xannibaadaha processor-ka dhammaan adeegyada si toos ah ama si dadban u saameeya shaqada muhiimka ah ee isticmaalayaashayada.

Go'aanku ma fududayn sababtoo ah waxaan aad u qiimaynaa xasiloonida kooxdeena. Waagii hore, waxaan horeyba u tijaabinay xasillooni darrada kooxdeena, ka dibna adeegyadu waxay cuneen kheyraad aad u badan waxayna hoos u dhigeen shaqadii nodkooda oo dhan. Hadda wax waliba xoogaa way ka duwanaayeen: waxaan si cad u fahannay waxa aan ka filaynay kooxaheenna, iyo sidoo kale istiraatijiyad wanaagsan oo lagu hirgalinayo isbedelada la qorsheeyay.

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU
Warqado ganacsi oo ku saabsan arrin adag.

Sidee loo ilaaliyaa qanjidhadaada marka xayiraadaha la qaado?

Go'doominta adeegyada "aan xadidnayn":

Waagii hore, waxaan horay u aragnay qaar ka mid ah noodhka oo galay xaalad notReady, ugu horrayn waxaa sabab u ah adeegyada isticmaalay kheyraad badan.

Waxaan go'aansanay inaan ku dhejinno adeegyada noocaan ah meelo gaar ah ("labeled") si aysan u faragelin adeegyada "la xiriira". Natiijo ahaan, annaga oo calaamadeynay noodhka qaar oo aan ku darnay cabbirka dulqaadka adeegyada “aan xiriir la lahayn”, waxaan gaarnay xakameyn weyn oo kuttka, waxaana noo fududaatay inaan aqoonsanno dhibaatooyinka qanjidhada. Si aad naftaada u sameyso habab la mid ah, waad baran kartaa naftaada dukumeenti.

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

U qoondaynta processor-ka saxda ah iyo codsiga xusuusta:

Cabsida ugu weyn waxay ahayd in geeddi-socodku uu isticmaalo kheyraad aad u badan oo noodhka uu joojiyo ka jawaabista codsiyada. Tan iyo hadda (mahadsanid Datadog) waxaan si cad ula socon karnaa dhammaan adeegyada ku jira kutladayada, waxaan falanqeeyay dhowr bilood oo hawlgal ah kuwa aan qorsheynay inaan u tilmaamno "aan xiriir la lahayn". Waxaan si fudud u dejiyay isticmaalka ugu badan ee CPU oo leh 20%, oo sidaas darteed meel loogu qoondeeyay noodhka haddii ay k8s isku dayaan inay ku meeleeyaan adeegyada kale ee noodhka.

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

Sida aad ku arki karto garaafka, culeyska ugu badan ee processor-ka ayaa gaaray 242m Kooreyaasha CPU (0.242 processor cores). Codsiga processor-ka, waa ku filan inaad qaadato nambar wax yar ka weyn qiimahan. Fadlan la soco in maadaama adeegyadu ay udub dhexaad u yihiin adeegsadaha, qiimaha ugu sarreeya ee rarka ayaa ku beegan taraafikada.

Si la mid ah ku samee isticmaalka xusuusta iyo weydiimaha, iyo voila - dhammaantiin waad diyaarsan tahay! Si loo helo nabad-gelyo weyn, waxaad ku dari kartaa jaan-gooye toosan. Sidaa darteed, mar kasta oo culeyska kheyraadku sarreeyo, autoscaling waxay abuuri doontaa boodhyo cusub, kubernetes waxay u qaybin doontaa qanjidhada oo leh meel bannaan. Haddii ay jirto meel bannaan oo ka maqan kooxda lafteeda, waxaad dejin kartaa heegan ama habayn kartaa kordhinta qanjidhada cusub adoo isticmaalaya autoscaling.

Minuses-ka, waxaa xusid mudan inaan ku guul darreysannay "cufnaanta weelka", i.e. tirada weelasha ku ordaya hal nood. Waxa kale oo laga yaabaa in aan haysano "nasasho" badan oo cufnaanta taraafikada hooseeya, sidoo kale waxaa jirta fursad aad ku gaari karto culeyska processor-ka sare, laakiin qanjidhada autoscaling waa inay ku caawiyaan kan dambe.

Результаты

Waxaan ku faraxsanahay inaan daabaco natiijooyinkan wanaagsan ee tijaabooyinka toddobaadyadii la soo dhaafay; waxaan horay u aragnay horumarro la taaban karo oo ku saabsan dhammaan adeegyada la beddelay:

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

Waxaan ku gaarnay natiijooyinka ugu wanaagsan boggayaga guriga (buffer.com), halkaas ayuu adeeggu ku dardargeliyey labaatan iyo laba jeer!

Kubernetes: Dardar geli adeegyadaada adiga oo meesha ka saaraya xadka CPU

Ma la hagaajiyay cayayaanka kernel-ka? Linux?

Haa, Cayayaanka mar hore ayaa la hagaajiyay oo hagaajinta ayaa lagu daray kernel-ka qaybinta nooca 4.19 iyo ka sare.

Si kastaba ha ahaatee, markaad akhrido dhibaatooyinka kubernetes on github labaad ee Sebtembar 2020 wali waxaan aragnaa tixraacyo qaar ka mid ah Linux-mashruucyo leh cillad la mid ah. Waxaan aaminsanahay in qaybinnada qaarkood Linux Khaladkan wali wuu jiraa, shaqadana hadda waa la wadaa si loo saxo.

Haddii nooca qaybintaadu uu ka horreeyo 4.19, waxaan kugula talin lahaa inaad cusbooneysiiso nooca ugu dambeeyay, laakiin waa inaad weli isku daydaa inaad ka saarto xayiraadaha CPU oo aad aragto haddii joojinta ay sii socoto. Hoos waxaa ku qoran liis qayb ah oo adeegyada maaraynta Kubernetes iyo Linux qaybinta:

  • Debian: hagaajinta waxaa lagu darayaa nooca ugu dambeeyay ee qaybinta, buster, oo u eg mid cusub (Ogast 2020). Qaar ka mid ah noocyada hore ayaa sidoo kale laga yaabaa in la hagaajiyo.
  • Ubuntu: hagaajin lagu daray noocii ugu dambeeyay Ubuntu Focal Fossa 20.04
  • EKS wali waxay heshay hagaajin December 2019. Haddii noocaagu ka hooseeyo kan, waa inaad cusboonaysiisaa AMI.
  • kops: Laga bilaabo Juun 2020 у kops 1.18+ sawirka ugu weyn ee martida loo yahay wuxuu noqon doonaa Ubuntu Abriil 20.04. Haddii nooca Kops-kaagu uu duugoobay, waxaa laga yaabaa inaad sugto hagaajin. Hadda waxaan sugeynaa mid annaga naga mid ah.
  • GKE (Google Cloud): Hagaajin isku dhafan Janaayo 2020, si kastaba ha ahaatee waxaa jira dhibaatooyin ku cuncunka weli waa la arkaa.

Maxaa la sameeyaa haddii hagaajintu ay hagaajiso dhibaatada cuncunka?

Ma hubo in dhibaatada si buuxda loo xaliyay. Markaan gaadhno nooca kernel-ka ee leh hagaajinta, waxaan tijaabin doonaa kutlada oo waxaan cusbooneysiin doonaa boostada. Haddii qof uu horay u cusbooneysiiyay, waxaan xiisayn lahaa inaan akhriyo natiijooyinkaaga.

gunaanad

  • Haddii aad la shaqeyneyso weelasha Docker ee hoos yimaada Linux (ha ahaato Kubernetes, Mesos, Swarm, ama wax kale), weelashaadu waxay waayi karaan waxqabadkooda sababtoo ah ciriiriga;
  • Isku day in aad u cusboonaysiiso noocii ugu dambeeyay ee qaybintaada adiga oo rajaynaya in cayayaanka mar hore la hagaajiyay;
  • Ka saarista xadka processor-ka ayaa xallin doona dhibaatada, laakiin tani waa farsamo khatar ah oo ay tahay in loo isticmaalo taxaddar aad u daran (waxaa fiican in marka hore la cusbooneysiiyo kernel-ka oo la barbardhigo natiijooyinka);
  • Haddii aad meesha ka saartay xadka CPU, si taxadar leh ula soco isticmaalka CPU iyo xusuusta oo hubi in agabka CPU-gaagu ay ka badan yihiin isticmaalkaaga;
  • Ikhtiyaar badbaado leh ayaa noqon kara in la isku miisaamo galalka si ay u abuuraan gadyo cusub haddii ay dhacdo culeys sare oo qalab ah, si kubernetes ay ugu meeleeyaan noodhadhka bilaashka ah.

Waxaan rajeynayaa in qoraalkani uu kaa caawinayo hagaajinta waxqabadka hababka weelkaaga.

PS waa qoraagu waxa uu u dhigma akhristayaasha iyo faallooyinka (Ingiriisi).


Source: www.habr.com

U soo iibso martigelin lagu kalsoonaan karo oo loogu talagalay bogagga leh ilaalinta DDoS, VPS VDS servers 🔥 Iibso martigelin degel oo lagu kalsoonaan karo oo leh ilaalinta DDoS, VPS VDS servers | ProHoster