Вы можете использовать синтаксис "описать модуль"
Для использования OpenShift:
oc describe pod <pod-id>
Для ванильного Kubernetes:
kubectl describe pod <pod-id>
Изучите события вывода. В моем случае это показывает Back-off pulling image unreachableserver/nginx:1.14.22222
В этом случае образ unreachableserver/nginx:1.14.22222
не может быть извлечен из Интернета, поскольку недоступный сервер реестра Docker отсутствует, а образ nginx:1.14.22222
не существует.
NB: если вы не видите никаких интересных событий, а модуль некоторое время находился в состоянии ImagePullBackOff (кажется, более 60 минут), вам необходимо удалить модуль и просмотреть события из новый пакет.
Для использования OpenShift:
oc delete pod <pod-id>
oc get pods
oc get pod <new-pod-id>
Для ванильного Kubernetes:
kubectl delete pod <pod-id>
kubectl get pods
kubectl get pod <new-pod-id>
Пример вывода:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 32s default-scheduler Successfully assigned rk/nginx-deployment-6c879b5f64-2xrmt to aks-agentpool-x
Normal Pulling 17s (x2 over 30s) kubelet Pulling image "unreachableserver/nginx:1.14.22222"
Warning Failed 16s (x2 over 29s) kubelet Failed to pull image "unreachableserver/nginx:1.14.22222": rpc error: code = Unknown desc = Error response from daemon: pull access denied for unreachableserver/nginx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Warning Failed 16s (x2 over 29s) kubelet Error: ErrImagePull
Normal BackOff 5s (x2 over 28s) kubelet Back-off pulling image "unreachableserver/nginx:1.14.22222"
Warning Failed 5s (x2 over 28s) kubelet Error: ImagePullBackOff
Дополнительные действия по отладке
- попробуйте вытащить образ докера и пометить вручную на вашем компьютере
- Определите узел, выполнив команду kubectl / oc get pods -o wide.
- ssh в узел (если можно), который не может вытащить образ докера
- убедитесь, что узел может разрешить DNS реестра докеров, выполнив команду ping.
- попробуйте вручную вытащить образ докера на узел
- Если вы используете частный реестр, убедитесь, что ваш секрет существует, и секрет правильный. Ваш секрет также должен находиться в том же пространстве имен. Спасибо, swenzel
- В некоторых реестрах есть брандмауэры, ограничивающие доступ к IP-адресам. Брандмауэр может блокировать извлечение
- Некоторые CI создают развертывания с временными секретами докеров. Таким образом, секрет истекает через несколько дней (вы просите о сбоях производства ...)
person
rjdkolb
schedule
24.05.2017