Awọn iṣoro pẹlu DNS ni Kubernetes. Gbogbo eniyan postmortem

Akiyesi itumọ: Eyi jẹ itumọ ti ifiweranṣẹ ti gbogbo eniyan lati bulọọgi ẹrọ ile-iṣẹ naa Ṣaaju. O ṣe apejuwe iṣoro kan pẹlu conntrack ninu iṣupọ Kubernetes, eyiti o yori si idinku apakan ti diẹ ninu awọn iṣẹ iṣelọpọ.

Nkan yii le wulo fun awọn ti o fẹ lati kọ ẹkọ diẹ sii nipa awọn iku ẹhin tabi ṣe idiwọ diẹ ninu awọn iṣoro DNS ti o pọju ni ọjọ iwaju.

Awọn iṣoro pẹlu DNS ni Kubernetes. Gbogbo eniyan postmortem
Eyi kii ṣe DNS
Ko le jẹ DNS
O je DNS

Diẹ diẹ nipa awọn ifiweranṣẹ ati awọn ilana ni Preply

Ikú-ikú kan ṣapejuwe aiṣedeede kan tabi iṣẹlẹ kan ni iṣelọpọ. Ifiranṣẹ naa pẹlu aago kan ti awọn iṣẹlẹ, ipa olumulo, idi gbongbo, awọn iṣe ti a ṣe, ati awọn ẹkọ ti a kọ.

Wiwa SRE

Ni awọn ipade ọsẹ pẹlu pizza, laarin ẹgbẹ imọ-ẹrọ, a pin awọn alaye lọpọlọpọ. Ọkan ninu awọn ẹya pataki julọ ti iru awọn ipade jẹ awọn iku-iku-lẹhin, eyiti o jẹ nigbagbogbo pẹlu igbejade pẹlu awọn ifaworanhan ati imọran jinlẹ diẹ sii ti iṣẹlẹ naa. Paapaa botilẹjẹpe a ko ṣapẹ lẹhin awọn iku, a gbiyanju lati dagbasoke aṣa ti “ko si ẹbi” (asa alailabi). A gbagbọ pe kikọ ati fifihan awọn iku lẹhin le ṣe iranlọwọ fun wa (ati awọn miiran) ṣe idiwọ iru awọn iṣẹlẹ ni ọjọ iwaju, eyiti o jẹ idi ti a fi n pin wọn.

Awọn ẹni kọọkan ti o ni ipa ninu iṣẹlẹ yẹ ki o lero pe wọn le sọ jade ni kikun laisi iberu ijiya tabi ẹsan. Ko si ibawi! Kikọ postmortem kii ṣe ijiya, ṣugbọn aye ikẹkọ fun gbogbo ile-iṣẹ naa.

Tọju CALMS & DevOps: S wa fun Pipin

Awọn iṣoro pẹlu DNS ni Kubernetes. Ikú lẹhin ikú

Nitootọ: 28.02.2020

Awọn onkọwe: Amet U., Andrey S., Igor K., Alexey P.

Ipo: Ti pari

Ni soki: Àìsí DNS apa kan (iṣẹju 26) fun awọn iṣẹ kan ninu iṣupọ Kubernetes

Ipa: Awọn iṣẹlẹ 15000 sọnu fun awọn iṣẹ A, B ati C

Idi ti gbongbo: Kube-aṣoju ko lagbara lati yọ iwọle atijọ kuro ni deede lati tabili conntrack, nitorinaa awọn iṣẹ kan tun n gbiyanju lati sopọ si awọn adarọ-ese ti ko si tẹlẹ.

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

Nfa: Nitori ẹru kekere inu iṣupọ Kubernetes, CoreDNS-autoscaler dinku nọmba awọn adarọ-ese ni imuṣiṣẹ lati mẹta si meji.

Solusan: Ifilọlẹ atẹle ti ohun elo naa bẹrẹ ṣiṣẹda awọn apa tuntun, CoreDNS-autoscaler ṣafikun awọn adarọ-ese diẹ sii lati sin iṣupọ naa, eyiti o fa atunko ti tabili conntrack

Iwari: Abojuto Prometheus ṣe awari nọmba nla ti awọn aṣiṣe 5xx fun awọn iṣẹ A, B ati C ati pe o bẹrẹ ipe kan si awọn onimọ-ẹrọ iṣẹ.

Awọn iṣoro pẹlu DNS ni Kubernetes. Gbogbo eniyan postmortem
Awọn aṣiṣe 5xx ni Kibana

Яействия

Iṣe
Iru
Lodidi
Nkan

Pa autoscaler kuro fun CoreDNS
idilọwọ
Amet U.
DEVPS-695

Ṣeto olupin DNS caching kan
dinku
O pọju V.
DEVPS-665

Ṣeto ibojuwo contrack
idilọwọ
Amet U.
DEVPS-674

Awọn ẹkọ ti a Kọ

Kini o lọ daradara:

  • Abojuto naa ṣiṣẹ daradara. Idahun naa yara ati ṣeto
  • A ko lu eyikeyi awọn opin lori awọn apa

Kini aṣiṣe:

  • Tun aimọ idi root gidi, iru si kokoro kan pato ni ilodisi
  • Gbogbo awọn iṣe ṣe atunṣe awọn abajade nikan, kii ṣe idi root (kokoro)
  • A mọ pe pẹ tabi ya a le ni awọn iṣoro pẹlu DNS, ṣugbọn a ko ṣe pataki awọn iṣẹ-ṣiṣe

Ibi ti a ti ni orire:

  • Ifilọlẹ t’okan jẹ okunfa nipasẹ CoreDNS-autoscaler, eyiti o tun kọ tabili conntrack
  • Kokoro yii kan awọn iṣẹ kan nikan

Àkókò (EET)

Akoko
Iṣe

22:13
CoreDNS-autoscaler dinku nọmba awọn adarọ-ese lati mẹta si meji

22:18
Awọn onimọ-ẹrọ lori iṣẹ bẹrẹ lati gba awọn ipe lati eto ibojuwo

22:21
Awọn onimọ-ẹrọ lori iṣẹ bẹrẹ lati wa idi ti awọn aṣiṣe naa.

22:39
Awọn onimọ-ẹrọ lori iṣẹ bẹrẹ yiyi ọkan ninu awọn iṣẹ tuntun pada si ẹya ti tẹlẹ

22:40
Awọn aṣiṣe 5xx duro ifarahan, ipo naa ti duro

  • Àkókò láti ṣàwárí: 4 мин
  • Akoko ṣaaju iṣe: 21 мин
  • Akoko lati ṣatunṣe: 1 мин

afikun alaye

Lati dinku lilo Sipiyu, ekuro Linux nlo nkan ti a pe ni conntrack. Ni kukuru, eyi jẹ ohun elo ti o ni atokọ ti awọn igbasilẹ NAT ti o fipamọ sinu tabili pataki kan. Nigbati apo-iwe ti o tẹle ba de lati podu kanna si adarọ-ese kanna bi tẹlẹ, adiresi IP ti o kẹhin kii yoo tun ṣe iṣiro, ṣugbọn yoo mu lati tabili conntrack.
Awọn iṣoro pẹlu DNS ni Kubernetes. Gbogbo eniyan postmortem
Bawo ni adehun ṣiṣẹ

Awọn esi

Eyi jẹ apẹẹrẹ ti ọkan ninu awọn iku ifiweranṣẹ wa pẹlu awọn ọna asopọ to wulo. Ni pataki ninu nkan yii, a pin alaye ti o le wulo si awọn ile-iṣẹ miiran. Ti o ni idi ti a ko bẹru lati ṣe asise ati awọn ti o ni idi ti a ṣe ọkan ninu awọn wa postmortems gbangba. Eyi ni diẹ ninu awọn iku ti ita gbangba diẹ sii:

orisun: www.habr.com

Fi ọrọìwòye kun