
Как мы поймали drift в Kubernetes и зачем после этого перешли на GitOps
casssuzy 10 минут назад Как мы поймали drift в Kubernetes и зачем после этого перешли на GitOps Уровень сложности Средний Время на прочтение 13 мин Охват и читатели 619 DevOps * Kubernetes * Системное администрирование...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. casssuzy 10 минут назад Как мы поймали drift в Kubernetes и зачем после этого перешли на GitOps Уровень сложности Средний Время на прочтение 13 мин Охват и читатели 619 DevOps * Kubernetes * Системное администрирование * Информационная безопасность * IT-инфраструктура * Кейс Это был не ночной инцидент и не релиз под давлением. Обычный рабочий день, плановая выкладка во второй половине дня, когда нагрузка уже ниже пика. Сервис не самый маленький: несколько Deployment’ов, PostgreSQL, PgBouncer, Redis, фоновые workers, отдельные CronJob’ы, Helm chart с values под окружения.
Деплой тогда был устроен просто: GitLab CI прогонял тесты, собирал образ, пушил его в registry и последним шагом выполнял helm upgrade . Схема была примерно такой: deploy:prod: stage: deploy image: alpine/helm:3. 0 script: - helm upgrade --install users-api .
Технические детали
/helm/users-api --namespace users --values . /helm/users-api/values-prod. tag=${CI_COMMIT_SHA} --atomic --timeout 5m only: - main На бумаге всё выглядело нормально.
--atomic должен был откатить релиз, если Helm не дождётся успешного состояния. У CI был kubeconfig в защищённых переменных. До Kubernetes API могли достучаться только приватные раннеры.
Конфигурация приложения лежала в values. Не идеально, но вполне типовая схема, на которой живёт много команд. Важный нюанс: --atomic не является полноценным production rollback-механизмом.
Отраслевые последствия
Он работает в рамках того, что Helm считает неуспешным upgrade. Если Kubernetes успел посчитать rollout успешным, а деградация проявилась позже на уровне бизнес-метрик, пайплайн уже будет зелёным. Так и получилось, пайплайн прошёл зелёным.
Образ собрался, чарт применился, появился новый ReplicaSet. Через пару минут загорелись алерты: выросла доля 5xx, ускорилось выгорание SLO-бюджета, readiness у части подов не проходил. Снаружи это выглядело как регресс в новой версии.
Мы быстро решили откатиться на предыдущий тег образа, который до этого работал несколько месяцев. И тут всё стало неприятным: старая версия тоже не поднялась. Точнее, она даже не смогла нормально стартовать.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





