Блог Слёрм

Почему полезно читать постмортемы по утрам

Чтобы стать действительно крутым инженером, недостаточно просто знать, как строить большие системы. Нужно понимать, как они ломаются. В этом смысле публичные постмортемы лучшее, что случилось с интернетом с точки зрения профессионального роста.

Пример подобного постмортема:

🔅 SNAT нам все сломал, или сначала нужно проверить на staging (подробнее — тут).

  • Ключевой симптом: Все сетевое взаимодействие внутри кластера работало, а все запросы наружу из кластера не работали должным образом.

  • Что пошло не так:

Проблема заключалась в механизме SNAT, реализованном в AWS VPC CNI плагине. По умолчанию, при отправке трафика из подов на адреса за пределами VPC, CNI плагин выполняет SNAT, заменяя исходный IP-адрес пода на основной IP-адрес сетевого интерфейса ноды. Поскольку нужно было обращаться в другой VPC, SNAT приводил к сбоям в сетевом взаимодействии. Включение параметра AWS_VPC_K8S_CNI_EXTERNALSNAT=true отключило этот механизм, позволив трафику из подов выходить напрямую без трансляции, что решило проблему.

  • Что следовало сделать по-другому:

Тестирование в staging-среде: Перед развертыванием изменений в production необходимо проводить обширное тестирование в изолированной среде, имитирующей production, чтобы выявить потенциальные проблемы.

Больше публичных постмортемов можно найти на этом ресурсе.

Учиться на чужих ошибках здорово и весело.

В этом смысле публичные постмортемы лучшее, что случилось с интернетом с точки зрения профессионального роста. А еще классно учиться на курсе «Kubernetes База» — там есть стенды для практики, поэтому даже если система сломается, продакшен не пострадает.
Kubernetes