Белешка превод: Ово је превод јавне обдукције са инжењерског блога компаније Предговор. Описује проблем са цоннтрацк-ом у Кубернетес кластеру, који је довео до делимичног застоја неких производних услуга.
Овај чланак може бити користан за оне који желе да науче нешто више о обдукцијама или да спрече неке потенцијалне ДНС проблеме у будућности.
Ово није ДНС
То не може бити ДНС
Био је ДНС
Мало о обдукцијама и процесима у Препли-у
Обдукција описује квар или неки догађај у производњи. Обдукција укључује временску линију догађаја, утицај корисника, основни узрок, предузете радње и научене лекције.
На недељним састанцима са пицом, међу техничким тимом, делимо разне информације. Један од најважнијих делова оваквих састанака су обдукције, које су најчешће праћене презентацијом са слајдовима и дубљом анализом инцидента. Иако не пљешћемо након обдукције, покушавамо да развијемо културу „без кривице“ (беспрекорна култура). Верујемо да писање и представљање обдукција може помоћи нама (и другима) да спречимо сличне инциденте у будућности, због чега их делимо.
Појединци укључени у инцидент треба да осећају да могу да говоре детаљно без страха од казне или одмазде. Без кривице! Писање обдукције није казна, већ прилика за учење за целу компанију.
Укратко: Делимична недоступност ДНС-а (26 мин) за неке услуге у Кубернетес кластеру
Влиание: 15000 догађаја изгубљено за услуге А, Б и Ц
Корен: Кубе-проки није могао исправно да уклони стари унос из табеле цоннтрацк, тако да су неке услуге и даље покушавале да се повежу са непостојећим подовима
Окидач: Због малог оптерећења унутар Кубернетес кластера, ЦореДНС-аутосцалер је смањио број подова у примени са три на два
rešenje: Следеће имплементирање апликације покренуло је креирање нових чворова, ЦореДНС-аутосцалер је додао још подова за опслуживање кластера, што је изазвало преписивање табеле цоннтрацк
Откривање: Прометхеус мониторинг је открио велики број 5кк грешака за сервисе А, Б и Ц и покренуо позив дежурним инжењерима
5кк грешке у Кибани
Активност
дејство
Тип
Одговорни
Задатак
Онемогућите аутоматски скалер за ЦореДНС
спречен
Амет У.
ДЕВОПС-695
Подесите ДНС сервер за кеширање
смањити
Макс В.
ДЕВОПС-665
Подесите праћење везе
спречен
Амет У.
ДЕВОПС-674
Научене лекције
Шта је добро прошло:
Мониторинг је добро функционисао. Одговор је био брз и организован
Нисмо погодили никаква ограничења на чворовима
шта није у реду:
Још увек непознат прави основни узрок, слично специфична грешка ин цоннтрацк
Све радње исправљају само последице, а не основни узрок (буг)
Знали смо да ћемо пре или касније можда имати проблема са ДНС-ом, али нисмо давали приоритет задацима
Где нам се посрећило:
Следеће примену покренуо је ЦореДНС-аутосцалер, који је преписао табелу цоннтрацк
Ова грешка је утицала само на неке услуге
Хронологија (ЕЕТ)
Време
дејство
22:13
ЦореДНС-аутоскалер је смањио број подова са три на два
22:18
Дежурни инжењери су почели да добијају позиве из система за праћење
22:21
Дежурни инжењери су почели да откривају узрок грешака.
22:39
Дежурни инжењери су почели да враћају једну од најновијих услуга на претходну верзију
22:40
5кк грешке су престале да се појављују, ситуација се стабилизовала
Време до откривања: КСНУМКС минута
Време пре акције: КСНУМКС минута
Време је да се поправи: КСНУМКС минута
додатне информације
ЦореДНС евиденције:
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
Да би се смањила употреба ЦПУ-а, Линук кернел користи нешто што се зове цоннтрацк. Укратко, ово је услужни програм који садржи листу НАТ записа који се чувају у посебној табели. Када следећи пакет стигне из истог под у исти под као раније, коначна ИП адреса неће бити поново израчуната, већ ће бити преузета из табеле цоннтрацк.
Како функционише цоннтрацк
Резултати
Ово је био пример једне од наших обдукција са неким корисним линковима. Конкретно, у овом чланку делимо информације које могу бити корисне другим компанијама. Зато се не плашимо да погрешимо и зато једну од наших обдукција објављујемо јавно. Ево још неких занимљивих јавних обдукција: