Прямой ответ
Rollback deploy возвращает приложение к предыдущей версии, поэтому сбой устраняется быстро, а пользователи не испытывают длительную деградацию.
| Параметр | Что задаёт |
|---|---|
| Автоматизация | Откат без вмешательства человека |
| Проверка | Подтверждение сбоя перед откатом |
| Скорость | Время выполнения отката |
| Стратегия | Способ отката по типу развёртывания |
# Kubernetes: rollback deployment
kubectl rollout undo deployment/app
Автоматизация отката обеспечивает, что возврат выполняется быстро, поэтому сбой не затягивается. О blue‑green стратегии — в статье про blue‑green deploy.
Автоматизация, проверка и скорость
Автоматизация отката обеспечивает, что возврат выполняется быстро, поэтому сбой не затягивается.
Автоматизация. Откат выполняется автоматически при обнаружении сбоя, поэтому вмешательство человека не требуется.
Проверка сбоя. Сбой подтверждается метриками перед откатом, поэтому откат не выполняется при ложном срабатывании.
Скорость отката. Время выполнения отката зависит от стратегии развёртывания, поэтому blue‑green обеспечивает мгновенный откат.
Практическое следствие: ручной откат требует вмешательства человека, поэтому время выполнения увеличивается и сбой затягивается.
Отдельный аспект — сравнение стратегий. Blue‑green обеспечивает мгновенный откат изменением маршрутизации, canary — быстрый откат возвратом доли трафика, rolling update — медленный откат заменой экземпляров.
Три признака некорректного rollback.
Отсутствие автоматизации. Откат требует вмешательства человека, поэтому время выполнения увеличивается.
Отсутствие проверки сбоя. Откат выполняется при ложном срабатывании, поэтому стабильная версия заменяется.
Медленный откат. Возврат к старой версии занимает время, поэтому сбой затягивается.
О canary стратегии — в статье про canary deploy; о rolling update — в статье про rolling update.
Автоматизация отката и скорость
Автоматизация отката обеспечивает, что возврат выполняется быстро, поэтому сбой не затягивается.
Автоматический откат. Откат выполняется автоматически при обнаружении сбоя, поэтому вмешательство человека не требуется.
Проверка сбоя. Сбой подтверждается метриками перед откатом, поэтому откат не выполняется при ложном срабатывании.
Сравнение стратегий. Blue-green обеспечивает мгновенный откат изменением маршрутизации, canary — быстрый откат возвратом доли трафика, rolling update — медленный откат заменой экземпляров.
Практическое следствие: ручной откат требует вмешательства человека, поэтому время выполнения увеличивается и сбой затягивается.
Практика: настройка rollback deploy
1. Автоматизируйте откат. Откат выполняется автоматически при обнаружении сбоя, поэтому вмешательство человека не требуется.
2. Проверяйте сбой перед откатом. Сбой подтверждается метриками, поэтому откат не выполняется при ложном срабатывании.
3. Выбирайте стратегию с быстрым откатом. Blue‑green обеспечивает мгновенный откат, поэтому сбой не затягивается.
4. Фиксируйте откат в логе. Запись отката позволяет определить, когда и кем был выполнен откат.
5. Проверяйте метрики после отката. Метрики старой версии проверяются после отката, поэтому стабильность подтверждается.
6. Разделяйте версии по признакам. Признаки позволяют определить, какая версия обрабатывает запрос.
7. Ограничивайте время отката. Время отката ограничивается, поэтому сбой не затягивается.
Рекомендации:
- Не выполняйте откат вручную. Ручной откат требует вмешательства человека, поэтому время выполнения увеличивается.
- Учитывайте стратегию развёртывания при выборе отката. Blue‑green обеспечивает мгновенный откат, rolling update — медленный.
- Сопоставляйте откат с проверкой сбоя. Сбой подтверждается метриками, поэтому откат не выполняется при ложном срабатывании.
- Фиксируйте откат в ошибке. Признак в записи ошибки позволяет определить, когда был выполнен откат.
- Пересматриваем стратегию отката при изменении нагрузки. Рост числа пользователей требует изменения стратегии.
Практический сценарий: откат занял длительное время
Контекст: откат занял длительное время, поэтому пользователи испытали длительную деградацию.
- Диагностика. Проверка показала, что откат выполнялся вручную и требовал вмешательства человека. Отсутствие автоматизации привело к тому, что время выполнения увеличилось, поэтому сбой затянулся.
- Причина. Автоматизация отката не была настроена, поэтому откат выполнялся вручную.
- Действия. (а) Автоматизировали откат, чтобы возврат выполнялся без вмешательства человека; (б) настроили проверку сбоя метриками, чтобы откат не выполнялся при ложном срабатывании; (в) выбрали стратегию с быстрым откатом, чтобы сбой не затягивался; (г) настроили фиксацию отката в логе для диагностики; (д) проверили метрики после отката, чтобы стабильность подтверждалась.
- Результат. Откат выполняется быстро, поэтому сбой не затягивается.
Вывод: ручной откат требует вмешательства человека, поэтому время выполнения увеличивается и сбой затягивается. Автоматизация отката и выбор стратегии с быстрым откатом обеспечивают быстрое устранение сбоя.
Практический сценарий: откат занял длительное время
Контекст: откат занял длительное время, поэтому пользователи испытали длительную деградацию.
- Диагностика. Проверка показала, что откат выполнялся вручную и требовал вмешательства человека. Отсутствие автоматизации привело к тому, что время выполнения увеличилось, поэтому сбой затянулся.
- Причина. Автоматизация отката не была настроена, поэтому откат выполнялся вручную.
- Действия. (а) Автоматизировали откат, чтобы возврат выполнялся без вмешательства человека; (б) настроили проверку сбоя метриками, чтобы откат не выполнялся при ложном срабатывании; (в) выбрали стратегию с быстрым откатом, чтобы сбой не затягивался; (г) настроили фиксацию отката в логе для диагностики; (д) проверили метрики после отката, чтобы стабильность подтверждалась.
- Результат. Откат выполняется быстро, поэтому сбой не затягивается.
Вывод: ручной откат требует вмешательства человека, поэтому время выполнения увеличивается и сбой затягивается. Автоматизация отката и выбор стратегии с быстрым откатом обеспечивают быстрое устранение сбоя.
FAQ
Что такое rollback deploy? Возврат приложения к предыдущей версии. Откат выполняется быстро, поэтому сбой не затягивается и пользователи не испытывают длительную деградацию.
Как автоматизируется откат? Через настройку автоматического отката при обнаружении сбоя. Вмешательство человека не требуется, поэтому время выполнения не увеличивается.
Как проверяется сбой перед откатом? Сбой подтверждается метриками перед откатом. Проверка обеспечивает, что откат не выполняется при ложном срабатывании.
Какая стратегия обеспечивает самый быстрый откат? Blue-green обеспечивает мгновенный откат изменением маршрутизации. Canary обеспечивает быстрый откат возвратом доли трафика, rolling update — медленный откат заменой экземпляров.
Источники: Kubernetes Deployment, Helm rollback, Prometheus naming — ссылки в шапке.