Как уже говорилось в моем предыдущем комментарии:
Я подозреваю, что ваш imagePullPolicy
может быть неправильно сконфигурирован.
и дополнительно подтвержден предоставленными вами журналами:
Ошибка сервера (BadRequest): контейнер "nginx" в модуле "test- nginx -7d97ffc85d-2s4lh" ожидает запуска: пытается и не удается получить изображение
проблема заключается в конфигурации imagePullPolicy
.
Как указано в официальной документации :
Предварительно извлеченные изображения
По умолчанию kubelet будет пытаться извлечь каждое изображение из указанного реестра. Однако, если свойство imagePullPolicy
контейнера установлено на IfNotPresent
или Never
, то используется локальное изображение (предпочтительно или исключительно, соответственно).
Если вы хотите полагаться на предварительно вытянутые изображения в качестве замены проверки подлинности реестра, вы должны убедиться, что все узлы в кластере имеют одинаковые предварительно извлеченные образы.
Таким образом, как уже упоминалось в @Eduardo, вы должны убедиться, что у вас есть одни и те же изображения на всех узлах и ваш imagePullPolicy
правильно настроен.
Однако, убедитесь, что контейнер всегда использует одну и ту же версию изображения, вы можете указать его digest , например sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
. Дайджест однозначно идентифицирует указанную c версию изображения, поэтому он не обновляется Kubernetes, если вы не измените значение дайджеста.
Таким образом, вы избежите проблем в будущем, поскольку сохраните точно такую же версию из всего кластера изображений - самая большая ловушка в этом сценарии.
Я надеюсь, что это помогает и расширяет предыдущий ответ (который является правильным), а также подтверждает мою точку зрения с самого начала.