技术 · 实用指南
Kubernetes 出现 ImagePullBackOff?改 Secret 前先读 Pod 事件
ImagePullBackOff 是重试状态,不是诊断。先保存精确事件,再依次核对镜像身份、命名空间 Secret、节点网络、平台与运行时存储。

ImagePullBackOff 表示 kubelet 拉取失败并进入退避重试。真正的原因在 Pod 的 Failed 事件中,可能是镜像名、权限、Secret、DNS/TLS、架构或解包与节点资源。
先保存最终部署的镜像引用、namespace、node 与事件,再只验证一个故障分支。只有目标 digest 成功拉取且 workload Ready 才算结束。
保存 Pod、node 与事件
记录 namespace、Pod、owner、container、node 和精确 image,并保存 describe 中最新 Failed 消息。
退避状态不等于根因;重建 Pod 只改变重试时序,不能证明问题已修复。
先核镜像身份
对比最终 Pod template 中的 registry、repository、tag/digest 与真正已推送 artifact。
把 not found、denied 与 platform mismatch 分开,并确认 manifest 含 node architecture。
核同 namespace 的凭据
仅在事件显示 unauthorized 或 secret 缺失时,核 Secret 名称、namespace、type 与 Pod/ServiceAccount 引用。
不要把 credential 内容打印到工单;workstation 登录也不能证明 kubelet 有权限。
测试 node 到 registry 与 runtime
DNS、timeout、TLS 与 connection 错误要从失败 node 或等效网络环境测试,不能以关闭 TLS 替代诊断。
unpack、disk、schema 或 architecture 错误要查 node storage、runtime log 与 image manifest。
单一修正并做退出测试
只改事件支持的一个事实,并保留旧 manifest 或 Secret metadata 以便回滚。
观察新拉取、记录 digest,确认旧事件消失且预期 workload 在相关 node 上 Ready。
