Kudzoka muna 2016 isu kuBuffer
processor kugumira uye throttling
Kufanana nevamwe vazhinji vashandisi veKubernetes, kubelet
) icharega kupindura zvikumbiro. Saka, kuseta CPU miganhu inzira yakanaka yekudzivirira node dzako.
processor miganho inoisa mudziyo kune yakanyanya CPU nguva yainogona kushandisa kwenguva yakati (default ndeye 100ms), uye mudziyo haufe wakapfuura uyu muganho. In Kubernetes for throttling mudziyo uye kudzivirira kubva pakupfuura muganhu, chishandiso chakakosha chinoshandiswa
Chii chingaitika kana tikasaisa processor miganhu?
Zvinosuruvarisa, isu pachedu taifanira kutarisana nechinetso ichi. Imwe neimwe node ine maitiro ane chekuita nekugadzirisa midziyo kubelet
, uye akarega kupindura zvikumbiro. Iyo node, kana izvi zvaitika, ichapinda mudunhu NotReady
, uye midziyo kubva mairi ichaendeswa kune imwe nzvimbo uye kugadzira matambudziko akafanana pamanode matsva. Kwete yakanaka mamiriro, kutaura zvishoma.
Kuratidzira kwedambudziko rekupuruzira uye kupindura
Iyo yakakosha metric yekutevera mudziyo ndeye trottling
, inoratidza kuti kangani mudziyo wako wakatsikwa. Isu takaona nekufarira kuvepo kwekupuruzira mune mamwe midziyo, zvisinei nekuti processor mutoro wakanyanya here kana kuti kwete. Semuenzaniso, ngatitarisei imwe yedu huru APIs:
Sezvauri kuona pazasi, isu takaisa muganhu 800m
(0.8 kana 80% musimboti), uye nhanho dzepamusoro pakusvikika 200m
(20% musimboti). Zvingaite sekunge tisati tapeta sevhisi tichine simba rakawanda re processor, zvisinei ...
Iwe unogona kunge waona kuti kunyangwe iyo processor mutoro uri pazasi peiyo yakatarwa miganhu - zvakanyanya pazasi - throttling ichiri kuitika.
Takatarisana neizvi, takakurumidza kuwana zviwanikwa zvakawanda (
Nei tichiona throttling at low CPU load? Iyo pfupi vhezheni ndeiyi: "kune bug muLinux kernel iyo inokonzeresa kudhuzesa kwemidziyo ine yakatarwa processor miganhu." Kana iwe uchifarira mamiriro edambudziko, unogona kuverenga mharidzo (
Kubvisa zvirambidzo zveCPU (nekungwarira kwakanyanya)
Mushure mehurukuro refu, takasarudza kubvisa zvirambidzo zve processor kubva kumasevhisi ese anokanganisa zvakananga kana zvisina kunanga mashandiro akakosha kune vashandisi vedu.
Sarudzo yanga isiri nyore nekuti tinokoshesa zvakanyanya kugadzikana kweboka redu. Munguva yakapfuura, takatoedza nekusagadzikana kweboka redu, uye ipapo masevhisi akadya zviwanikwa zvakawanda uye akadzikisa basa renode yavo yese. Zvino zvinhu zvese zvaive zvakati siyanei: takave nekunzwisisa kwakajeka kwezvataitarisira kubva kumasumbu edu, pamwe nehurongwa hwakanaka hwekuita shanduko dzakarongwa.
Kunyorerana kwebhizinesi pane iri kunetsa.
Nzira yekudzivirira node dzako kana zvirambidzo zvabviswa?
Kuzviparadzanisa nevamwe kwe "zvisina kurambidzwa" masevhisi:
Munguva yakapfuura, takatoona dzimwe node dzichipinda muhurumende notReady
, zvakanyanya nekuda kwemasevhisi akashandisa zviwanikwa zvakawanda.
Isu takasarudza kuisa masevhisi akadaro munzvimbo dzakasiyana ("dzakanyorwa") kuitira kuti dzirege kukanganisa masevhisi "ane hukama". Nekuda kweizvozvo, nekumaka dzimwe node uye nekuwedzera kushivirira parameter kune "asina hukama" masevhisi, takawana hukuru hwekutonga pamusoro pesumbu, uye zvakava nyore kwatiri kuziva matambudziko nemanodhi. Kuti uite maitiro akafanana iwe pachako, unogona kujairana nawo
Kugovera chaiyo processor uye chikumbiro chekuyeuka:
Kutya kwedu kukuru kwaive kwekuti nzira yacho yaizopedza zviwanikwa zvakawanda uye node yaizomira kupindura zvikumbiro. Kubva zvino (nekuda kweDatadog) isu taigona kunyatso tarisa masevhisi ese ari pasumbu redu, ndakaongorora mwedzi yakati wandei yekushanda kweaya atakaronga kudoma se "asina hukama". Ini ndinongoseta iyo yakanyanya CPU kushandiswa nemuganho we20%, uye nekudaro ndakagovera nzvimbo mune node kana k8s ichiedza kugovera mamwe masevhisi kune node.
Sezvauri kuona mugirafu, iyo yakanyanya kuremerwa pane processor yasvika 242m
CPU cores (0.242 processor cores). Pakukumbira processor, zvakakwana kutora nhamba yakakura zvishoma pane iyi kukosha. Ndokumbira utarise kuti sezvo masevhisi ari mushandisi-centric, huwandu hwepamusoro hunoenderana netraffic.
Ita zvimwe chete nekushandiswa kwendangariro uye mibvunzo, uye voila - mese makagadzirira! Kuti uchengetedze zvakanyanya, unogona kuwedzera yakachinjika pod autoscaling. Nekudaro, pese kana resource reload rakwira, autoscaling ichagadzira mapodhi matsva, uye kubernetes inoagovera kune node nenzvimbo yemahara. Kana pasina nzvimbo yasara musumbu pachayo, unogona kuzviseta yambiro kana kugadzirisa kuwedzera kwenodhi nyowani kuburikidza neavo autoscaling.
Pamaminuses, zvakakosha kuziva kuti takarasikirwa mu "
Mhinduro
Ndiri kufara kuburitsa iyi mibairo yakanaka kubva mukuedza kwemavhiki mashoma apfuura; takatoona kuvandudzwa kwakakosha mumhinduro kumasevhisi ese akagadziridzwa:
Isu takawana zvakanakisa mhedzisiro pane yedu peji peji (
Iyo Linux kernel bug yakagadziriswa here?
Hongu
Zvisinei, pakuverenga
Kana yako yekugovera vhezheni yakaderera pane 4.19, ini ndingakurudzira kuvandudza kune ichangoburwa, asi chero zvakadaro iwe unofanirwa kuedza kubvisa zvinorambidzwa processor uye ona kana iyo throttling ichienderera. Pazasi iwe unogona kuona chikamu chikamu cheKubernetes manejimendi masevhisi uye Linux kugovera:
- Debian: gadzirisa yakabatanidzwa mune yazvino vhezheni yekugovera,
busters , uye inotaridzika chaizvo (Nyamavhuvhu 2020 ) Dzimwe shanduro dzakapfuura dzinogonawo kugadziriswa. - Ubuntu: gadzirisa yakabatanidzwa mune yazvino vhezheni
Ubuntu Focal Fossa 20.04 - EKS ine kugadzirisa parizvino
muna Zvita 2019 . Kana vhezheni yako yakadzikira pane iyi, unofanirwa kugadzirisa iyo AMI. - kops:
Kubva munaJune 2020 Ρkops 1.18+
Mufananidzo mukuru uchave Ubuntu 20.04. Kana vhezheni yako yekops yakura, ungafanira kumirira kugadzirisa. Isu pachedu takamirira zvino. - GKE (Google Cloud): Gadzirisa yakabatanidzwa
muna Ndira 2020 , zvisinei kune matambudziko ne throttlingvachiri kucherechedzwa .
Chii chaunofanira kuita kana kugadzirisa kwakagadzirisa dambudziko rekudonha?
Handina chokwadi chekuti dambudziko rakagadziriswa zvachose. Kana tasvika kune kernel vhezheni negadziriso, ini ndichayedza sumbu uye kugadzirisa iyo positi. Kana paine vakatogadziridza, ndingafarire kuverenga mhinduro dzako.
mhedziso
- Kana iwe ukashanda neDocker midziyo pasi peLinux (zvisinei Kubernetes, Mesos, Swarm kana zvimwe), midziyo yako inogona kurasikirwa nekuita nekuda kwekupuruzira;
- Edza kugadziridza kune yazvino vhezheni yekugovera kwako uine tariro yekuti bug yakatogadziriswa;
- Kubvisa processor miganho kunogadzirisa dambudziko, asi iyi inzira ine njodzi inofanirwa kushandiswa nekuchenjerera kwakanyanya (zviri nani kutanga ugadzirise kernel uye kuenzanisa mhedzisiro);
- Kana iwe wabvisa miganhu yeCPU, nyatso tarisa CPU yako uye ndangariro mashandisiro uye ita shuwa kuti CPU yako zviwanikwa zviri kupfuura zvaunoshandisa;
- Sarudzo yakachengeteka ingave yeautoscale mapodhi kugadzira mapodhi matsva kana yakakwira hardware mutoro, kuitira kuti kubernetes inovapa kumahara node.
Ndinovimba iyi positi inokubatsira kuvandudza mashandiro emidziyo yako masisitimu.
PS
Source: www.habr.com