Шарҳ тарҷума: Ин тарҷумаи постмортеми оммавӣ аз блоги муҳандисии ширкат аст
Ин мақола метавонад барои онҳое, ки мехоҳанд дар бораи постмортемҳо каме бештар маълумот гиранд ё дар оянда баъзе мушкилоти эҳтимолии DNS-ро пешгирӣ кунанд, муфид бошад.
Ин DNS нест
Он наметавонад DNS бошад
Ин DNS буд
Каме дар бораи постмортемҳо ва равандҳо дар Preply
Пастмортем хатоги ё ягон ҳодисаро дар истеҳсолот тавсиф мекунад. Пас аз марг ҷадвали рӯйдодҳо, таъсири корбар, сабабҳои аслӣ, амалҳои андешидашуда ва дарсҳои омӯхташударо дар бар мегирад.
Дар вохӯриҳои ҳарҳафтаина бо пицца дар байни дастаи техникӣ мо маълумоти гуногунро мубодила мекунем. Яке аз бахшҳои муҳими ин гуна мулоқотҳо пас аз марг аст, ки бештар бо муаррифӣ бо слайдҳо ва таҳлили амиқи ҳодиса ҳамроҳ мешавад. Гарчанде ки мо пас аз марг кафкӯбӣ намекунем, мо мекӯшем, ки фарҳанги «бегуноҳ»-ро инкишоф диҳем (
Шахсоне, ки дар ходиса иштирок доранд, бояд хис кунанд, ки бе тарси чазо ва чазо ба таври муфассал сухан гуфта метавонанд. Айб нест! Навиштани пас аз марг ҷазо нест, балки имконияти омӯзиш барои тамоми ширкат аст.
Мушкилот бо DNS дар Kubernetes. Баъди марг
Санаи: 28.02.2020
Муаллифон: Амет У., Андрей С., Игорь К., Алексей П.
Status: Ба охир расид
Ҷаҳиш ба: Қисман дастрас набудани DNS (26 дақиқа) барои баъзе хидматҳо дар кластери Kubernetes
Таъсир: 15000 ҳодисаҳо барои хидматҳои A, B ва C гум шуданд
Нахустсабаб: Kube-proxy натавонист вуруди кӯҳнаро аз ҷадвали пайвастшавӣ дуруст хориҷ кунад, аз ин рӯ баъзе хидматҳо то ҳол кӯшиш мекарданд, ки ба подкладкаҳои мавҷуда пайваст шаванд
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: ...
Триггер: Аз сабаби кам будани сарбории дохили кластери Kubernetes, CoreDNS-autoscaler шумораи подкҳоро дар ҷойгиркунӣ аз се то ду кам кард
ҳалли: Ҷойгиркунии навбатии барнома эҷоди гиреҳҳои навро оғоз кард, CoreDNS-autoscaler барои хидмат ба кластер подкҳои бештар илова кард, ки боиси дубора навиштани ҷадвали conntrack шуд.
Муайянкунӣ: Мониторинги Prometheus шумораи зиёди хатогиҳои 5xx-ро барои хидматҳои A, B ва C муайян кард ва ба муҳандисони навбатдор занг зад.
Хатогиҳои 5xx дар Кибана
Амалиётҳо
таъсир
Намуди
Масъулият
Мақсад
Autoscaler барои CoreDNS хомӯш кунед
пешгирӣ кард
Амет У.
ДЕВОПС-695
Сервери кэшкунии DNS-ро насб кунед
кам кардан
Макс В.
ДЕВОПС-665
Мониторинги пайвастро танзим кунед
пешгирӣ кард
Амет У.
ДЕВОПС-674
Дарсхои омухташуда
Чӣ хуб гузашт:
- Мониторинг хуб кор кард. Ҷавоб зуд ва муташаккил буд
- Мо дар гиреҳҳо ягон маҳдудият нагузоштаем
Чӣ хато буд:
- Ҳанӯз маълум нест сабаби аслии аслӣ, монанд ба
хатои мушаххас дар муқобил - Ҳама амалҳо танҳо оқибатҳоро ислоҳ мекунанд, на сабаби аслӣ (хато)
- Мо медонистем, ки дер ё зуд мо бо DNS мушкилот дошта бошем, аммо мо вазифаҳоро авлавият надодем
Дар куҷо бахти мо расид:
- Ҷойгиркунии навбатӣ аз ҷониби CoreDNS-autoscaler оғоз шуд, ки ҷадвали пайвасткуниро аз нав навишт
- Ин хато танҳо ба баъзе хидматҳо таъсир расонд
Ҷадвали вақт (EET)
Вақт
таъсир
22:13
CoreDNS-autoscaler шумораи подкҳоро аз се ба ду кам кард
22:18
Инженерони навбатдор аз системаи назорат занг задан гирифтанд
22:21
Инженерони навбатдор ба фахмидани сабаби хатогихо шуруъ карданд.
22:39
Муҳандисони навбатдор ба баргардонидани яке аз хидматҳои охирин ба версияи қаблӣ шурӯъ карданд
22:40
5xx хатогиҳо пайдо шуданд, вазъият мӯътадил шуд
- Вақт барои ошкор кардан: 4 min
- Вақт пеш аз амал: 21 min
- Вақти ислоҳ: 1 min
маълумоти иловагӣ
- Сабтҳои CoreDNS:
I0228 20:13:53.507780 1 event.go:221] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"kube-system", Name:"coredns", UID:"2493eb55-3dc0-11ea-b3a2-02bb48f8c230", APIVersion:"apps/v1", ResourceVersion:"132690686", FieldPath:""}): type: 'Normal' reason: 'ScalingReplicaSet' Scaled down replica set coredns-6cbb6646c9 to 2
- Истинодҳо ба Кибана (бурида), Графана (бурида)
Дар куҷо Linux conntrack дигар дӯсти шумо нест Нозукҳои kube-proxy: ислоҳи барқароркунии пайвасти фосилавӣ Муносибати Racy ва вақти ҷустуҷӯи DNS
Барои кам кардани истифодаи CPU, ядрои Linux чизеро истифода мебарад, ки conntrack ном дорад. Хулоса, ин утилитаест, ки рӯйхати сабтҳои NAT-ро дар бар мегирад, ки дар ҷадвали махсус нигоҳ дошта мешаванд. Ҳангоме ки бастаи навбатӣ аз ҳамон як қуттии пештара ба ҳамон подкаст мерасад, суроғаи ниҳоии IP дубора ҳисоб карда намешавад, балки аз ҷадвали conntrack гирифта мешавад.
Чӣ тавр contrack кор мекунад
Натиҷаҳо
Ин як мисоли яке аз постмортемҳои мо бо истинодҳои муфид буд. Махсусан дар ин мақола, мо маълумотеро мубодила мекунем, ки метавонанд барои ширкатҳои дигар муфид бошанд. Аз ин рӯ, мо аз хато кардан наметарсем ва аз ин рӯ, мо яке аз пас аз марги худро оммавӣ мегардонем. Инҳоянд чанде аз фавти оммавии ҷолибтар:
- GitLab:
Пас аз марги махзани маълумот аз 31 январ - Боркуни:
Қатъи пас аз марг - Spotify:
Муносибати ишқ/нафрати Spotify бо DNS - Бисьёр дигарон аз
ин мазмун ва анборҲикояҳои нокомии Кубернетес - Ҳамчунин
намуна баъди марги ҷамъиятӣ бо китоби SRE
Манбаъ: will.com