Деплой и инфра
Rollout strategies: обзор с выбором ответа
Шесть вопросов, проходящих сквозь весь раздел. Каждый — это решение, которое вы принимаете во время реального релиза: не определение для пересказа, а компромисс, который надо взвесить, пока на сервис идёт трафик.
Убедитесь, что умеете связать выбор стратегии, knobs rolling update, readiness-гейтинг, метрические gate канарейки и безопасный для схемы rollback — тот синтез, к которому вёл обзорный урок.
Платёжный API на Kubernetes выкатывает рискованный рефакторинг. У вас есть дашборды Prometheus, SLO-алерты и запас ёмкости кластера, и вы хотите минимально возможное влияние на пользователей, если что-то пойдёт не так. Какая стратегия и почему?
Rolling update сообщает Deployment как 'available', все реплики подняты, однако ~30% запросов возвращают 502 в первые секунды после того, как каждый под входит в ротацию. В чём корневая причина?
Команда хочет строгий zero-downtime на Deployment из 4 реплик, который никогда не должен падать ниже полной ёмкости. Какая конфигурация rolling update верна и чего она стоит? ```yaml strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 ```
Вы используете blue-green и хотите, чтобы rollback оставался безопасным. Релиз green переименовывает колонку в БД. Что вы делаете?
Canary-деплой наращивает 5%, затем 25%, затем 50% без метрического gate — инженер на глаз смотрит дашборд и вручную промоутит на каждом шаге. В 3 часа ночи релиз с 4% ошибок доезжает до 100%. В чём настоящий провал?
Нужно выбрать выкат для сервиса, где две версии действительно не могут сосуществовать — in-place изменение stateful-синглтона без совместимой промежуточной схемы. Ёмкость в обрез, короткое окно обслуживания допустимо. Какая стратегия и какой компромисс вы принимаете?
Сквозная линия — одно решение: взвесить blast radius (canary минимальный, recreate тотальный) против стоимости ресурсов (blue-green удваивает) против скорости rollback (blue-green и canary почти мгновенны, rolling катится назад, recreate — второй простой). Затем предпосылки, которые делают любой выбор реальным: maxSurge/maxUnavailable плюс readiness probe для zero-downtime rolling, автоматический метрический gate для canary и миграции expand-contract, чтобы rollback пережил изменение схемы. Observability решает, какой стратегии вы реально можете доверять.