Ошибка Helm: UPGRADE FAILED - Another Operation in Progress
При работе с Helm в Kubernetes можно встретить ошибку:
Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress
Это значит, что уже выполняется какая-то операция с релизом, а вы пытаетесь запустить новую.
В этих состояниях нельзя запустить новую команду helm upgrade или helm rollback.
Основные состояния Pending
Релиз Helm может «зависнуть» в следующих состояниях:
- pending-install — установка началась, но не завершилась.
- pending-upgrade — обновление запустилось, но не закончилось.
- pending-rollback — откат завис на полпути.
These states prevent you from running another helm upgrade or helm rollback.
Почему так происходит?
- Прерванная команда Helm (например, Ctrl+C).
- Таймауты из-за перегрузки кластера.
- Ошибка в hook или job перед установкой/обновлением.
- Две команды обновления запущены одновременно (например, CI/CD + вручную).
Как исправить
Проверьте статус релиза:
helm status my-release -n my-namespace
Найдите секрет, который хранит последню ревизию:
kubectl get secrets -n my-namespace | grep my-release
После этого можно его удалить:
kubectl delete secret sh.helm.release.v1.my-release.vX -n my-namespace
Повторить установку/обновление:
helm upgrade --install my-release ./chart -n my-namespac
Лучшие практики
- Используйте блокировки в CI/CD, чтобы не запускать несколько апдейтов одновременно.
- Не прерывайте helm upgrade руками.
- Контролируйте работу hooks и jobs.
- Настраивайте адекватный –timeout для долгих операций.
Вывод
Теперь вы знаете, что значит ошибка UPGRADE FAILED: another operation in progress и как восстановить релиз, если он завис.