Вы можете использовать синтаксис " описать модуль "
Для использования OpenShift:
oc describe pod <pod-id>
Для ванильного Kubernetes:
kubectl describe pod <pod-id>
Изучите события вывода. В моем случае это показывает обратное извлечение изображения coredns / coredns: latest
В этом случае изображение coredns / coredns: latest не может быть получено из Интернета.
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
5m 5m 1 {default-scheduler } Normal Scheduled Successfully assigned coredns-4224169331-9nhxj to 192.168.122.190
5m 1m 4 {kubelet 192.168.122.190} spec.containers{coredns} Normal Pulling pulling image "coredns/coredns:latest"
4m 26s 4 {kubelet 192.168.122.190} spec.containers{coredns} Warning Failed Failed to pull image "coredns/coredns:latest": Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your internet connection or if you are behind a proxy.
4m 26s 4 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ErrImagePull: "Network timed out while trying to connect to https://index.docker.io/v1/repositories/coredns/coredns/images. You may want to check your Internet connection or if you are behind a proxy."
4m 2s 7 {kubelet 192.168.122.190} spec.containers{coredns} Normal BackOff Back-off pulling image "coredns/coredns:latest"
4m 2s 7 {kubelet 192.168.122.190} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "coredns" with ImagePullBackOff: "Back-off pulling image \"coredns/coredns:latest\""
Дополнительные шаги отладки
- попробуйте вытащить образ докера и пометить вручную на вашем компьютере
- Определите узел, выполнив команду kubectl / oc get pods -o wide.
- ssh в узел (если можно), который не может вытащить образ докера
- убедитесь, что узел может разрешить DNS реестра докеров, выполнив команду ping.
- попробуйте вручную вытащить образ докера на узел
- Если вы используете частный реестр, убедитесь, что ваш секрет существует и он правильный. Ваш секрет также должен находиться в том же пространстве имен. Спасибо swenzel
- В некоторых реестрах есть брандмауэры, ограничивающие доступ к IP-адресам. Брандмауэр может блокировать извлечение
- Некоторые CI создают развертывания с временными секретами докеров. Таким образом, секрет истекает через несколько дней (вы просите о сбоях производства ...)