kubelet ещё не знает про ConfigMap или Secret пода
Событие «FailedMount: MountVolume.SetUp failed for volume ... : object "namespace"/"name" not registered» в Kubernetes: kubelet пытается смонтировать ConfigMap или Secret, которые ещё не попали в его кэш. Обычно проходит само, но иногда означает, что объекта нет.
Что это значит
kubelet подключает ConfigMap и Secret к подам через свой кэш объектов. object ... not registered значит, что под уже запускается, а kubelet ещё не начал отслеживать нужный объект. Чаще всего это короткое состояние при запуске пода или после перезапуска kubelet: через несколько секунд монтирование проходит.
Если ошибка не проходит, проверьте, существует ли объект на самом деле: при отсутствующем объекте под так и остаётся в ContainerCreating.
Как проверить
kubectl get pod <под> -n <namespace>
kubectl get configmap,secret -n <namespace> | grep <имя>
kubectl describe pod <под> -n <namespace> | tail -20
Что сделать
- Если под запустился, ничего не делать.
- Если объекта нет, создать его или поправить ссылку в описании пода.
- Если объект есть, а ошибка держится долго, перезапустить под. При массовых ошибках на одном узле посмотреть журнал kubelet.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать