0

0

Pod 一直 ContainerCreating 卡住,describe pod 显示 imagePullBackOff 之外的原因

冷炫風刃

冷炫風刃

发布时间:2026-01-18 18:41:01

|

885人浏览过

|

来源于php中文网

原创

Pod卡在ContainerCreating状态的常见原因有五类:①Init容器失败;②Volume挂载失败;③CRI层(如containerd)创建sandbox失败;④CNI网络配置异常;⑤SecurityContext或SELinux限制触发拒绝。

pod 一直 containercreating 卡住,describe pod 显示 imagepullbackoff 之外的原因

Pod 卡在 ContainerCreating 状态,且 kubectl describe pod 显示的不是常见的 ImagePullBackOff,而是其他原因,说明问题出在镜像拉取之后、容器真正启动之前的阶段。这类情况往往更隐蔽,需要逐层排查初始化环节。

Init 容器失败(Init:Error 或 Init:CrashLoopBackOff)

如果 Pod 定义了 initContainers,Kubernetes 会严格按顺序执行它们,全部成功后才启动主容器。只要任一 init 容器退出非 0 状态、崩溃或超时,Pod 就卡在 ContainerCreating,describe 输出中会显示类似 Init:ErrorInit:CrashLoopBackOff,而非主容器的状态。

  • 运行 kubectl logs --all-containers --prefix 查看所有容器(含 init)的日志
  • kubectl get pod -o wide 确认 Pod 调度到哪个节点,再登录该节点检查 journalctl -u kubelet -n 100 --no-pager,常能发现 init 容器因权限、挂载、网络或命令不存在等失败的具体错误
  • 常见陷阱:init 容器用了 alpine 镜像但执行了 bash 脚本(alpine 默认无 bash)、尝试写入只读路径、依赖 ConfigMap/Secret 未就绪

Volume 挂载失败(如 NFS、CSI 插件未就绪、PV/PVC 绑定异常)

当 Pod 声明了 volume(尤其是 network storage 类型),kubelet 在启动容器前需先完成挂载。若挂载卡住或失败(例如 NFS 服务不可达、CSI driver Pod 未运行、StorageClass 动态供给超时),Pod 就会滞留在 ContainerCreating,describe 中可能只显示 Waiting for volumes to attach or mount,或事件里出现 MountVolume.SetUp failed

造次
造次

Liblib打造的AI原创IP视频创作社区

下载
  • 检查 PVC 状态:kubectl get pvc 是否为 Bound;如是 Pending,用 kubectl describe pvc 看事件原因(如 StorageClass 不存在、配额不足)
  • 确认对应 PV 是否存在且状态正常;若用 CSI,检查 kubectl get csidriverkubectl get pods -n kube-system | grep csi
  • 在 Node 上手动测试挂载:比如 showmount -e mount -t nfs4 :/path /mnt/test,验证底层存储连通性

Kubelet 无法创建容器运行时沙箱(CRI 层问题)

即使镜像已存在、volume 已挂载,kubelet 调用容器运行时(如 containerd 或 dockerd)创建 sandbox 容器时仍可能失败。此时 describe 通常无明确错误,事件里可能只有模糊的 Failed to create pod sandbox,需查 kubelet 日志定位。

  • 登录 Pod 所在 Node,执行 sudo crictl ps -a | grep (containerd)或 docker ps -a | grep (dockershim),看是否有残留的 pause 容器或异常状态
  • 检查 containerd 日志:sudo journalctl -u containerd -n 200 --no-pager,常见报错如 failed to load cni configno available IP addresses(CNI 分配失败)、permission denied on /run/containerd
  • CNI 是高频雷区:确认 /etc/cni/net.d/配置文件存在且格式正确,/opt/cni/bin/ 中插件二进制可执行,Calico/Flannel 等 CNI Pod 是否全 Running

SecurityContext 或 SELinux 限制触发拒绝

当 Pod 或容器设置了 securityContext(如 runAsUserseLinuxOptionsprivileged: true),而节点策略或内核模块不满足时,容器运行时可能静默拒绝创建 sandbox。describe 不报具体错误,但 kubelet 日志会出现 failed to create containerd taskpermission denied 类提示。

  • 临时去掉 securityContext 字段测试是否恢复,快速验证是否为此类问题
  • 在 Node 上检查 SELinux 状态:getenforce,若为 Enforcing,查看 sudo ausearch -m avc -ts recent 是否有拒绝日志
  • 对 privileged 容器,确认 kubelet 启动参数含 --allow-privileged=true(v1.26+ 已废弃,需通过 PSP 或 PodSecurityPolicy 替代)

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.10.25

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

249

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

494

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

399

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

437

2024.04.08

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

36

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号