ProblÄmas ar DNS Kubernetes. Publisks pÄcnÄves periods
PiezÄ«me tulkojums: Å is ir publiskas pÄcnÄves tulkojums no uzÅÄmuma inženierzinÄtÅu emuÄra Gatavs. TajÄ ir aprakstÄ«ta problÄma, kas saistÄ«ta ar conntrack Kubernetes klasterÄ«, kas izraisÄ«ja dažu ražoÅ”anas pakalpojumu daļÄju dÄ«kstÄvi.
Å is raksts var bÅ«t noderÄ«gs tiem, kuri vÄlas uzzinÄt vairÄk par pÄcnÄves gadÄ«jumiem vai novÄrst dažas iespÄjamÄs DNS problÄmas nÄkotnÄ.
Tas nav DNS
Tas nevar būt DNS
Tas bija DNS
Mazliet par pÄcnÄves gadÄ«jumiem un procesiem Preply
PÄcnÄves gadÄ«jums apraksta darbÄ«bas traucÄjumu vai kÄdu notikumu ražoÅ”anÄ. PÄcnÄves pÄrbaudÄ ir ietverta notikumu laika skala, lietotÄju ietekme, galvenais iemesls, veiktÄs darbÄ«bas un gÅ«tÄs mÄcÄ«bas.
IknedÄļas tikÅ”anÄs reizÄs ar picu, tehniskÄs komandas starpÄ dalÄmies ar dažÄdu informÄciju. Viena no svarÄ«gÄkajÄm Å”Ädu sanÄksmju daļÄm ir pÄcnÄves gadÄ«jumi, ko visbiežÄk pavada prezentÄcija ar slaidiem un padziļinÄta incidenta analÄ«ze. Pat ja mÄs neaplaudÄjam pÄc pÄcnÄves gadÄ«jumiem, mÄs cenÅ”amies attÄ«stÄ«t "bez vainas" kultÅ«ru (nevainojama kultÅ«ra). MÄs uzskatÄm, ka pÄcnÄves ierakstu rakstÄ«Å”ana un prezentÄÅ”ana var palÄ«dzÄt mums (un citiem) novÄrst lÄ«dzÄ«gus incidentus nÄkotnÄ, tÄpÄc mÄs tos kopÄ«gojam.
PersonÄm, kas iesaistÄ«tas incidentÄ, jÄjÅ«t, ka viÅi var runÄt detalizÄti, nebaidoties no soda vai atriebÄ«bas. Nav vainas! PÄcnÄves ziÅojuma rakstÄ«Å”ana nav sods, bet gan iespÄja mÄcÄ«ties visam uzÅÄmumam.
Autori: Amets U., Andrejs S., Igors K., Aleksejs P.
Statuss: Pabeigts
ÄŖsumÄ: DaļÄja DNS nepieejamÄ«ba (26 minÅ«tes) dažiem Kubernetes klastera pakalpojumiem
Ietekme: Pakalpojumos A, B un C zaudÄti 15000 XNUMX notikumu
Galvenais cÄlonis: Kube starpniekserveris nevarÄja pareizi noÅemt veco ierakstu no conntrack tabulas, tÄpÄc daži pakalpojumi joprojÄm mÄÄ£inÄja izveidot savienojumu ar neesoÅ”iem podiem
AktivizÄtÄjs: SakarÄ ar zemo slodzi Kubernetes klasterÄ«, CoreDNS-autoscaler samazinÄja podiÅu skaitu izvietoÅ”anÄ no trim uz diviem.
Ŕķīdums: Lietojumprogrammas nÄkamÄ izvietoÅ”ana uzsÄka jaunu mezglu izveidi, CoreDNS-autoscaler pievienoja vairÄk podi, lai apkalpotu klasteru, kas izraisÄ«ja conntrack tabulas pÄrrakstÄ«Å”anu.
AtklÄÅ”ana: Prometheus monitorings atklÄja lielu skaitu 5xx kļūdu pakalpojumiem A, B un C un sÄka zvanu dežurÄjoÅ”ajiem inženieriem
5xx kļūdas KibanÄ
AktivitÄte
efekts
RŃReRŃ
Atbildīgs
Uzdevums
AtspÄjot automÄtisko mÄrogoÅ”anu CoreDNS
novÄrsta
Amets U.
DEVOPS-695
Iestatiet keÅ”atmiÅas DNS serveri
samazinÄt
Makss V.
DEVOPS-665
Iestatiet kontrakciju uzraudzību
novÄrsta
Amets U.
DEVOPS-674
GÅ«tÄs mÄcÄ«bas
Kas gÄja labi:
UzraudzÄ«ba darbojÄs labi. Atbilde bija Ätra un organizÄta
MÄs nesasniedzÄm nekÄdus mezglu ierobežojumus
Kas bija nepareizi:
JoprojÄm nezinÄms Ä«stais cÄlonis, lÄ«dzÄ«gs specifiska kļūda in kontraktÄ
Visas darbÄ«bas novÄrÅ” tikai sekas, nevis galveno cÄloni (kļūdu)
MÄs zinÄjÄm, ka agrÄk vai vÄlÄk mums varÄtu rasties problÄmas ar DNS, taÄu mÄs nenoteicÄm uzdevumu prioritÄtes
Kur mums paveicÄs:
NÄkamo izvietoÅ”anu aktivizÄja CoreDNS-autoscaler, kas pÄrrakstÄ«ja conntrack tabulu
Å Ä« kļūda skÄra tikai dažus pakalpojumus
Laika skala (EET)
Laiks
efekts
22:13
CoreDNS-autoscaler samazinÄja podiÅu skaitu no trim lÄ«dz diviem
22:18
DežurÄjoÅ”ie inženieri sÄka saÅemt zvanus no uzraudzÄ«bas sistÄmas
Lai samazinÄtu CPU izmantoÅ”anu, Linux kodols izmanto kaut ko, ko sauc par conntrack. ÄŖsÄk sakot, Ŕī ir utilÄ«ta, kas satur NAT ierakstu sarakstu, kas tiek glabÄti Ä«paÅ”Ä tabulÄ. Kad nÄkamÄ pakete pienÄk no tÄ paÅ”a pod uz to paÅ”u pod kÄ iepriekÅ”, galÄ«gÄ IP adrese netiks pÄrrÄÄ·inÄta, bet tiks Åemta no conntrack tabulas.
KÄ darbojas conntrack
RezultÄti
Å is bija piemÄrs vienai no mÅ«su pÄcnÄves gadÄ«jumiem ar dažÄm noderÄ«gÄm saitÄm. KonkrÄti Å”ajÄ rakstÄ mÄs dalÄmies ar informÄciju, kas var bÅ«t noderÄ«ga citiem uzÅÄmumiem. TÄpÄc mÄs nebaidÄmies kļūdÄ«ties un tÄpÄc vienu no mÅ«su pÄcnÄves izmeklÄjumiem publiskojam. Å eit ir vÄl daži interesanti publiskie pÄcnÄves gadÄ«jumi: