Kubernetes не может скачать образ контейнера
ImagePullBackOff, ErrImagePull, manifest unknown, pull access denied: под Directum RX или его окружения не запускается, потому что образ не скачивается. Причины и что делать, если образ удалён из реестра.
Что это значит
Узел не смог скачать образ, и под не запускается. ErrImagePull это сама ошибка, ImagePullBackOff означает, что Kubernetes повторяет попытки с растущей паузой.
Причины: опечатка в имени или теге, нет учётных данных для закрытого реестра, реестр недоступен с узла, превышен лимит скачиваний, образ удалён из реестра. Последнее коварнее всего: всё работало месяцами, пока образ лежал в кэше узла, и сломалось при переезде пода на другой узел. Так было в 2025 году, когда Bitnami убрала свои образы из основного каталога.
Как проверить
kubectl describe pod <под> | sed -n '/Events/,$p'
crictl pull <образ>
В событиях текст точный: manifest unknown (такого тега нет), unauthorized или pull access denied (нет доступа), i/o timeout (сеть), toomanyrequests (лимит).
Что сделать
- Опечатка или удалённый тег: исправить имя образа на существующее.
- Нет доступа: создать секрет с учётными данными реестра и указать его в
imagePullSecrets. - Образ удалён, а на другом узле он есть в кэше: перенести его в свой реестр и поменять адрес в манифестах.
- На будущее держать копии всех используемых образов в своём реестре. Внешний реестр может изменить правила в любой день.