Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Верификация deploy: проверка после развертывания

Верификация deploy: проверка после развертывания

Верификация deploy: проверка готовности, метрик, логов и автоматический откат при сбое.

Прямой ответ

Верификация deploy проверяет готовность, метрики и логи после развёртывания, поэтому сбой обнаруживается до полного перехода и откат выполняется автоматически.

Шаг Что проверяется
Готовность Подтверждение готовности экземпляров
Метрики Сравнение с метриками старой версии
Логи Отсутствие ошибок в записях
Откат Автоматический возврат при сбое
# Kubernetes: readiness probe
readinessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10

Проверка готовности подтверждает, что экземпляр обрабатывает запросы, поэтому сбой обнаруживается до полного перехода. Об откате релиза — в статье про rollback deploy.

Готовность, метрики и автоматический откат

Проверка готовности подтверждает, что экземпляр обрабатывает запросы, поэтому сбой обнаруживается до полного перехода.

Проверка готовности. Экземпляр проверяется на готовность перед продолжением, поэтому сбой обнаруживается до замены всех экземпляров.

Сравнение метрик. Метрики новой версии сравниваются с метриками старой, поэтому деградация обнаруживается по расхождению.

Автоматический откат. Возврат к старой версии выполняется автоматически при обнаружении сбоя, поэтому вмешательство человека не требуется.

Практическое следствие: отсутствие проверки готовности приводит к тому, что сбой не обнаруживается до полного перехода, поэтому сбой затрагивает всех пользователей.

Отдельный аспект — проверка логов. Записи новой версии проверяются на отсутствие ошибок, поэтому сбой обнаруживается по записям.

Три признака некорректной верификации.

Отсутствие проверки готовности. Сбой не обнаруживается до полного перехода, поэтому сбой затрагивает всех пользователей.

Отсутствие сравнения метрик. Деградация не обнаруживается, поэтому сбой не устраняется быстро.

Отсутствие автоматического отката. Возврат к старой версии требует вмешательства человека, поэтому время выполнения увеличивается.

О canary стратегии — в статье про canary deploy; о rolling update — в статье про rolling update.

Проверка готовности и автоматический откат

Проверка готовности подтверждает, что экземпляр обрабатывает запросы, поэтому сбой обнаруживается до полного перехода.

Проверка готовности. Экземпляр проверяется на готовность перед продолжением, поэтому сбой обнаруживается до замены всех экземпляров.

Сравнение метрик. Метрики новой версии сравниваются с метриками старой, поэтому деградация обнаруживается по расхождению.

Автоматический откат. Возврат к старой версии выполняется автоматически при обнаружении сбоя, поэтому вмешательство человека не требуется.

Практическое следствие: отсутствие проверки готовности приводит к тому, что сбой не обнаруживается до полного перехода.

Практика: настройка верификации deploy

1. Проверяйте готовность экземпляров. Проверка готовности выполняется перед продолжением, поэтому сбой обнаруживается до замены всех.

2. Сравнивайте метрики новой версии. Сравнение с метриками старой версии обнаруживает деградацию до полного перехода.

3. Проверяйте логи на отсутствие ошибок. Записи новой версии проверяются, поэтому сбой обнаруживается по записям.

4. Автоматизируйте откат при сбое. Возврат к старой версии выполняется автоматически, поэтому вмешательство человека не требуется.

5. Фиксируйте верификацию в логе. Запись верификации позволяет определить, когда и какая проверка выполнялась.

6. Разделяйте версии по признакам. Признаки позволяют определить, какая версия обрабатывает запрос.

7. Ограничивайте время верификации. Время верификации ограничивается, поэтому сбой не затягивается.

Рекомендации:

  1. Не пропускайте проверку готовности. Отсутствие проверки приводит к тому, что сбой не обнаруживается до полного перехода.
  2. Учитывайте сравнение метрик при верификации. Метрики новой версии сравниваются с метриками старой, поэтому деградация обнаруживается.
  3. Сопоставляйте откат с верификацией. Возврат к старой версии выполняется автоматически при обнаружении сбоя.
  4. Фиксируйте верификацию в ошибке. Признак в записи ошибки позволяет определить, какая проверка не прошла.
  5. Пересматриваем верификацию при изменении нагрузки. Рост числа пользователей требует изменения проверок.

Практический сценарий: сбой не обнаружился до полного перехода

Контекст: сбой не обнаружился до полного перехода, поэтому сбой затронул всех пользователей.

  1. Диагностика. Проверка показала, что проверка готовности не выполнялась после развёртывания. Сбой не обнаружился до полного перехода, поэтому сбой затронул всех пользователей.
  2. Причина. Верификация deploy не была настроена, поэтому сбой не обнаруживался до полного перехода.
  3. Действия. (а) Настроили проверку готовности экземпляров, чтобы сбой обнаруживался до замены всех; (б) настроили сравнение метрик новой версии, чтобы деградация обнаруживалась; (в) настроили проверку логов на отсутствие ошибок, чтобы сбой обнаруживался по записям; (г) автоматизировали откат при сбое, чтобы возврат выполнялся без вмешательства человека; (д) настроили фиксацию верификации в логе для диагностики.
  4. Результат. Сбой обнаруживается до полного перехода, поэтому откат выполняется автоматически.

Вывод: отсутствие проверки готовности приводит к тому, что сбой не обнаруживается до полного перехода. Верификация deploy проверяет готовность, метрики и логи, поэтому сбой обнаруживается до полного перехода.

Практический сценарий: сбой не обнаружился до полного перехода

Контекст: сбой не обнаружился до полного перехода, поэтому сбой затронул всех пользователей.

  1. Диагностика. Проверка показала, что проверка готовности не выполнялась после развёртывания. Сбой не обнаружился до полного перехода, поэтому сбой затронул всех пользователей.
  2. Причина. Верификация deploy не была настроена, поэтому сбой не обнаруживался до полного перехода.
  3. Действия. (а) Настроили проверку готовности экземпляров, чтобы сбой обнаруживался до замены всех; (б) настроили сравнение метрик новой версии, чтобы деградация обнаруживалась; (в) настроили проверку логов на отсутствие ошибок, чтобы сбой обнаруживался по записям; (г) автоматизировали откат при сбое, чтобы возврат выполнялся без вмешательства человека; (д) настроили фиксацию верификации в логе для диагностики.
  4. Результат. Сбой обнаруживается до полного перехода, поэтому откат выполняется автоматически.

Вывод: отсутствие проверки готовности приводит к тому, что сбой не обнаруживается до полного перехода. Верификация deploy проверяет готовность, метрики и логи, поэтому сбой обнаруживается до полного перехода.

FAQ

Что такое верификация deploy? Проверка готовности, метрик и логов после развёртывания. Сбой обнаруживается до полного перехода, поэтому откат выполняется автоматически.

Как проверяется готовность экземпляров? Через проверку готовности перед продолжением развёртывания. Сбой обнаруживается до замены всех экземпляров, поэтому сбой не затрагивает всех.

Как сравниваются метрики? Метрики новой версии сравниваются с метриками старой. Расхождение обнаруживает деградацию до полного перехода.

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

Источники: Kubernetes Deployment, Prometheus naming, Grafana Prometheus datasource — ссылки в шапке.