Pwoblèm ak dns nan Kubernetes. Postmortem piblik

Remak tradiksyon: Sa a se yon tradiksyon yon postmortem piblik ki soti nan blog jeni konpayi an preply. Li dekri yon pwoblèm ak conntrack nan yon gwoup Kubernetes, ki te mennen nan D 'pasyèl nan kèk sèvis pwodiksyon.

Atik sa a ka itil pou moun ki vle aprann yon ti kras plis sou postmortems oswa anpeche kèk pwoblèm DNS potansyèl nan lavni.

Pwoblèm ak dns nan Kubernetes. Postmortem piblik
Sa a se pa DNS
Li pa kapab DNS
Se te DNS

Yon ti kras sou postmortems ak pwosesis nan Preply

Yon postmortem dekri yon fonksyone byen oswa kèk evènman nan pwodiksyon an. Apre nesesite a gen ladan yon delè evènman yo, enpak itilizatè a, kòz rasin, aksyon yo pran, ak leson yo aprann.

Chèche SRE

Nan reyinyon chak semèn ak pitza, nan mitan ekip teknik la, nou pataje enfòmasyon divès kalite. Youn nan pati ki pi enpòtan nan reyinyon sa yo se post-mortems, ki pi souvan akonpaye pa yon prezantasyon ak diapositives ak yon analiz pi pwofondè sou ensidan an. Menmsi nou pa bat bravo apre mortems, nou eseye devlope yon kilti "pa blame" (kilti san repwòch). Nou kwè ke ekri ak prezante postmortems ka ede nou (ak lòt moun) anpeche ensidan menm jan an nan lavni, se poutèt sa nou ap pataje yo.

Moun ki enplike nan yon ensidan ta dwe santi ke yo ka pale an detay san yo pa pè pinisyon oswa vanjans. Pa gen blame! Ekri yon postmortem se pa yon pinisyon, men se yon opòtinite aprantisaj pou tout konpayi an.

Kenbe CALMS & DevOps: S se pou pataje

Pwoblèm ak dns nan Kubernetes. Postmortem

Dat: 28.02.2020

Otè yo: Amet U., Andrey S., Igor K., Alexey P.

Estati: Fini

Yon ti tan: Pasyèl DNS indisponibilite (26 min) pou kèk sèvis nan gwoup Kubernetes la

Enfliyans: 15000 evènman pèdi pou sèvis A, B ak C

Kòz rasin: Kube-proxy pa t 'kapab kòrèkteman retire yon ansyen antre nan tab konttrack la, kidonk kèk sèvis te toujou ap eseye konekte ak gous ki pa egziste.

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: ...

Deklanche: Akòz chaj ki ba andedan gwoup Kubernetes la, CoreDNS-autoscaler redwi kantite gous nan deplwaman an soti twa a de.

solisyon: Pwochen deplwaman aplikasyon an te inisye kreyasyon nouvo nœuds, CoreDNS-autoscaler te ajoute plis gous pou sèvi gwoup la, ki te pwovoke yon re-ekri nan tab la kontntrack.

Deteksyon: Siveyans Prometheus te detekte yon gwo kantite erè 5xx pou sèvis A, B ak C epi li te inisye yon apèl bay enjenyè ki an sèvis yo.

Pwoblèm ak dns nan Kubernetes. Postmortem piblik
5xx erè nan Kibana

Aksyon yo

efè
Kalite
Responsab
Objektif Travay la

Enfim autoscaler pou CoreDNS
anpeche
Amet U.
DEVOPS-695

Fikse yon sèvè DNS kachèt
diminye
Max V.
DEVOPS-665

Mete kanpe siveyans konttrack
anpeche
Amet U.
DEVOPS-674

Leson Aprann

Ki sa ki te byen pase:

  • Siveyans la te travay byen. Repons lan te rapid ak òganize
  • Nou pa t frape okenn limit sou nœuds yo

Ki sa ki te mal:

  • Toujou enkoni reyèl kòz rasin, menm jan ak pinèz espesifik nan kontre
  • Tout aksyon yo korije sèlman konsekans yo, pa kòz la rasin (ensèk)
  • Nou te konnen ke pi bonè oswa pita nou ta ka gen pwoblèm ak DNS, men nou pa t 'priyorite travay yo.

Ki kote nou te gen chans:

  • Pwochen deplwaman an te deklanche pa CoreDNS-autoscaler, ki te ranplase tab konttrack la.
  • Ensèk sa a afekte sèlman kèk sèvis

Timeline (EET)

Tan
efè

22:13
CoreDNS-autoscaler redwi kantite gous soti nan twa a de

22:18
Enjenyè nan sèvis yo te kòmanse resevwa apèl nan sistèm siveyans lan

22:21
Enjenyè yo nan sèvis yo te kòmanse chèche konnen kòz erè yo.

22:39
Enjenyè nan sèvis yo te kòmanse retounen youn nan dènye sèvis yo nan vèsyon anvan an

22:40
5xx erè sispann parèt, sitiyasyon an estabilize

  • Tan pou deteksyon: 4 minit
  • Tan anvan aksyon: 21 minit
  • Tan pou ranje: 1 minit

Lòt enfòmasyon

Pou minimize itilizasyon CPU, nwayo Linux la sèvi ak yon bagay ki rele conntrack. Nan ti bout tan, sa a se yon sèvis piblik ki gen yon lis dosye NAT ki estoke nan yon tablo espesyal. Lè pwochen pake a rive soti nan menm gous la nan menm gous la anvan, adrès IP final la pa pral rekalkile, men yo pral pran nan tab la kontntrack.
Pwoblèm ak dns nan Kubernetes. Postmortem piblik
Ki jan conttrack travay

Rezilta

Sa a se te yon egzanp youn nan postmortems nou yo ak kèk lyen itil. Espesyalman nan atik sa a, nou pataje enfòmasyon ki ka itil lòt konpayi yo. Se poutèt sa nou pa pè fè erè e se pou sa nou fè youn nan postmortems nou yo piblik. Men kèk postmortem piblik ki pi enteresan:

Sous: www.habr.com

Add nouvo kòmantè