Практическое задание

Эта задача — шаг 2 курса «Kubernetes на практике»

Неудачный релиз: откат

средне~10 мин

Deployment web (3 реплики) только что обновили до новой версии образа, и выкатка застряла: новые поды не стартуют. Верни приложение к последней рабочей версии так, чтобы снова работали все 3 реплики. Сам Deployment не удаляй и не создавай заново.

Что потренируешь:
  • kubernetes
  • kubectl
  • deployment
  • rollout
  • откат релиза

Разбор темы

Deployment выкатывает изменения шаблона пода постепенно (RollingUpdate): поднимает новые поды и гасит старые, только пока новые готовы. Если новый образ не скачивается (ImagePullBackOff) или контейнер падает, выкатка останавливается — часть старых подов продолжает работать. Каждое изменение шаблона — новая ревизия ReplicaSet; kubectl rollout history показывает ревизии, kubectl rollout undo возвращает предыдущую (или указанную --to-revision).

Что проверяется

  1. образ — последняя рабочая версия
  2. все 3 реплики готовы
  3. Deployment тот же, не пересоздан

Как это выглядит