Kubernetes ломается не в манифестах, а в допущениях, которые в них не записали
Контейнеризация решает упаковку, а оркестрация — поведение системы под нагрузкой, при сбоях и при смене узлов. Если это не разделить в голове, дальше начинается классика: поды есть, а сервиса нет; деплой прошёл, а трафик не идёт; readiness зелёный, но приложение ещё не готово.
Перед выкатом проверьте базу: — requests/limits заданы осмысленно, а не «на глаз»; — liveness не убивает медленный старт; — readiness отражает реальную готовность обслуживать запросы; — grace period и termination hooks учитывают корректное завершение сессий. Код работает, но есть нюансы.
Отдельно смотрите на сетевую модель и зависимостИ: сервисы должны находить друг друга предсказуемо, а внешние интеграции — иметь таймауты, ретраи и ограничение по числу попыток. Если приложение требует локального состояния, не делайте вид, что оно stateless: для него нужны PVC, политика рестарта и понятный план восстановления. Безопасность начинается с доступа.
Автоматизация — это не опция, а необходимость: Helm/Kustomize, policy checks, CI-валидация манифестов и базовые smoke-тесты до попадания в кластер. Иначе Kubernetes быстро превращается в дорогой способ распределить хаос по нодам.
Держите манифесты короткими, а поведение — явным: чем меньше магии в конфиге, тем быстрее расследуется инцидент.
Трекер: конфиги
@tracker_configs_arb
Kubernetes ломается не в манифестах, а в допущениях, которые в них не записали
Этот пост опубликован в Telegram-канале Трекер: конфиги. Подписаться можно по ссылке: @tracker_configs_arb.