Olana amin'ny DNS ao amin'ny Kubernetes. Public postmortem

Fanamarihana fandikana: Dikan-tenin'ny postmortem ampahibemaso avy amin'ny bilaogy injeniera an'ny orinasa ity Vetivety. Izy io dia mamaritra olana amin'ny conntrack ao amin'ny kluster Kubernetes, izay nitarika ho amin'ny fahatapahana ampahany amin'ny serivisy famokarana sasany.

Ity lahatsoratra ity dia mety ilaina ho an'ireo izay te hianatra bebe kokoa momba ny postmortems na hisorohana ny olana sasany mety hitranga amin'ny DNS amin'ny ho avy.

Olana amin'ny DNS ao amin'ny Kubernetes. Public postmortem
Tsy DNS izany
Tsy mety ho DNS izany
DNS izany

Kely momba ny postmortem sy ny dingana ao amin'ny Preply

Ny postmortem dia manoritsoritra ny tsy fahampiana na tranga sasany amin'ny famokarana. Ny postmortem dia ahitana ny fandaharam-potoanan'ny hetsika, ny fiantraikan'ny mpampiasa, ny fotony, ny hetsika natao ary ny lesona azo.

Mitady SRE

Amin'ny fivoriana isan-kerinandro miaraka amin'ny pizza, eo anivon'ny ekipa teknika, dia mizara vaovao isan-karazany izahay. Ny iray amin'ireo ampahany manan-danja indrindra amin'ny fivoriana toy izany dia ny fizahana ny maty, izay matetika miaraka amin'ny famelabelarana miaraka amin'ny sary mihetsika sy famakafakana lalindalina kokoa ny zava-nitranga. Na dia tsy mitehaka aza izahay aorian'ny fizahana ny maty dia miezaka ny mamolavola kolontsaina "tsy misy tsiny" izahay (kolontsaina tsy misy tsiny). Mino izahay fa ny fanoratana sy ny fanolorana postmortem dia afaka manampy anay (sy ny hafa) hisorohana ny tranga mitovy amin'izany amin'ny ho avy, ka izany no antony hizaranay azy ireo.

Ireo olona voarohirohy amin'ny tranga iray dia tokony hahatsapa fa afaka miteny amin'ny antsipiriany tsy misy tahotra sazy na valifaty. Tsisy tsiny! Ny fanoratana postmortem dia tsy sazy, fa fahafahana mianatra ho an'ny orinasa iray manontolo.

Keep CALMS & DevOps: S dia natao hifampizarana

Olana amin'ny DNS ao amin'ny Kubernetes. Postmortem

date: 28.02.2020

Ireo mpanoratra: Amet U., Andrey S., Igor K., Alexey P.

Status: vita

fohifohy: Ny tsy fisian'ny DNS ampahany (26 min) ho an'ny serivisy sasany ao amin'ny cluster Kubernetes

Fiantraikany: Hetsika 15000 no very ho an'ny serivisy A, B ary C

Ny tena antony: Kube-proxy dia tsy afaka nanala tsara ny fidirana taloha tao amin'ny tabilao conntrack, noho izany dia mbola niezaka nifandray tamin'ny pod tsy misy ny serivisy sasany.

E0228 20:13:53.795782       1 proxier.go:610] Failed to delete kube-system/kube-dns:dns endpoint connections, error: error deleting conntrack entries for UDP peer {100.64.0.10, 100.110.33.231}, error: conntrack command returned: ...

Trigger: Noho ny enta-mavesatra ambany ao anatin'ny kluster Kubernetes, ny CoreDNS-autoscaler dia nampihena ny isan'ny pods amin'ny fametrahana ho telo ka hatramin'ny roa.

vahaolana: Ny fametrahana ny fampiharana manaraka dia nanomboka ny famoronana nodes vaovao, CoreDNS-autoscaler dia nanampy pods bebe kokoa hanompoana ny cluster, izay nahatonga ny fanoratana indray ny latabatra conntrack.

Fikarohana: Ny fanaraha-maso Prometheus dia nahita fahadisoana 5xx marobe ho an'ny serivisy A, B ary C ary nanomboka niantso ireo injeniera miasa.

Olana amin'ny DNS ao amin'ny Kubernetes. Public postmortem
Fahadisoana 5xx ao Kibana

ДСйствия

vokatry
karazana
tompon'andraikitra
asa

Atsaharo ny autoscaler ho an'ny CoreDNS
nisakana
Amet U.
DEVOPS-695

Manangana mpizara DNS cache
fihenana
Max V.
DEVOPS-665

Mametraha fanaraha-maso conntrack
nisakana
Amet U.
DEVOPS-674

Lesona nianarana

Inona no nandeha tsara:

  • Nandeha tsara ny fanaraha-maso. Haingana sy voalamina ny valiny
  • Tsy nahatratra fetran'ny nodes izahay

Inona no tsy nety:

  • Mbola tsy fantatra ny tena fotony, mitovy amin'ny bug manokana amin'ny conntrack
  • Ny hetsika rehetra dia manitsy ny voka-dratsiny ihany fa tsy ny fotony (bug)
  • Fantatray fa na ho ela na ho haingana dia mety hanana olana amin'ny DNS izahay, saingy tsy nanao laharam-pahamehana ny asa

Aiza no nahazoantsika vintana:

  • Ny fametrahana manaraka dia natosiky ny CoreDNS-autoscaler, izay nanova ny tabilao conntrack.
  • Ity bug ity dia tsy nisy fiantraikany tamin'ny serivisy sasany ihany

Timeline (EET)

fotoana
vokatry

22:13
Ny CoreDNS-autoscaler dia nampihena ny isan'ny pods telo ka hatramin'ny roa

22:18
Nanomboka nahazo antso avy amin'ny rafitra fanaraha-maso ireo injeniera miasa

22:21
Nanomboka namantatra ny anton’ny lesoka ireo injeniera niasa.

22:39
Nanomboka namerina ny iray amin'ireo serivisy farany amin'ny dikan-teny teo aloha ireo injeniera miasa

22:40
Nitsahatra tsy niseho ny hadisoana 5xx, nilamina ny toe-draharaha

  • Fotoana hamantarana: 4 min
  • Fotoana alohan'ny hetsika: 21 min
  • Fotoana hanamboarana: 1 min

fanazavana fanampiny

Mba hampihenana ny fampiasana CPU dia mampiasa zavatra antsoina hoe conntrack ny kernel Linux. Raha fintinina, ity dia fitaovana misy lisitry ny firaketana NAT izay voatahiry ao anaty latabatra manokana. Rehefa tonga avy amin'ny pod mitovy amin'ny teo aloha ny fonosana manaraka, dia tsy hokajiana indray ny adiresy IP farany, fa alaina avy amin'ny latabatra conntrack.
Olana amin'ny DNS ao amin'ny Kubernetes. Public postmortem
Ahoana ny fiasan'ny conntrack

vokatra

Ity dia ohatra iray amin'ny iray amin'ireo postmortem misy rohy mahasoa. Amin'ity lahatsoratra ity manokana, mizara fampahalalana mety mahasoa ho an'ny orinasa hafa izahay. Izany no mahatonga anay tsy hatahotra ny hanao fahadisoana ary izany no mahatonga anay hampahafantarinay ny iray amin'ireo postmortem anay. Ireto misy postmortemm-bahoaka mahaliana kokoa:

Source: www.habr.com

Add a comment