首页/云/Kubernetes 速查/PVC 一直 Pending 排查
配置与存储54 条

PVC 一直 Pending 排查

Pending 的常见原因:没有匹配 PV、类不存在、制备器报错、WaitForFirstConsumer 等待调度;按事件逐项定位。

Kubernetes 速查云更新于 2026-10-13

排查定位

PVC 停在 Pending,意味着「申请没被满足」。适用平台是 Kubernetes,原因集中在四类:没有可匹配的静态 PV、引用的 StorageClass 不存在、动态制备失败(驱动或云侧报错)、以及绑定模式为 WaitForFirstConsumer 时正在等 Pod 调度。判断的关键动作是 describe PVC 看事件,因为具体原因几乎都会写在事件里,靠猜效率很低。

基本信息

适用平台Kubernetes(PVC 为命名空间级,PV 为集群级)
现象PVC 的 STATUS 停留在 Pending,不进入 Bound
关键信息源kubectl describe pvc 的 Events 段
与 Pod 的关系WaitForFirstConsumer 模式下要先有消费者 Pod 才会制备

典型使用场景

  • 新业务上线卷没起来:核对 StorageClass 名与默认类配置
  • 云上扩可用区后失败:驱动在目标区没有可用存储或配额不足
  • 精简集群没有默认类:PVC 没有可用类,报错信息也不总是直观
  • 有状态服务迁移:静态 PV 的容量或访问模式与 PVC 不匹配
  • 批量创建 PVC 混用旧模板:模板里写着已下线的类名

排查命令

排查命令
kubectl get pvc -A                                       # 找 Pending 的对象
kubectl describe pvc data-claim -n prod                  # 事件原文最关键
kubectl get events -n prod --field-selector involvedObject.name=data-claim --sort-by=.lastTimestamp
kubectl get sc                                           # 存储类是否存在、哪个是默认
kubectl get sc fast-ssd -o yaml                          # 看 provisioner 与参数
kubectl -n kube-system get pod -l app=csi-driver -o wide  # 驱动控制器是否正常

常见事件线索

事件关键词可能原因处理方向
no persistent volumes available for this claim静态 PV 容量、类或模式不匹配补建符合条件的 PV 或改用动态制备类
storageclass not found引用的 StorageClass 不在集群里改 PVC 的类名或恢复该类
provisioning failed制备器或云驱动侧错误看事件原文与驱动日志,核对配额与可用区
waiting for first consumer to be createdWaitForFirstConsumer 的正常等待先解决 Pod 调度问题,卷会随之制备
quota exceeded云侧配额或容量不足扩容配额或换可用区
事件是判断的主导信息:同样是 Pending,背后的原因差别很大,只看状态不做 describe 属于空转。
WaitForFirstConsumer 的 Pending 通常是正常状态,含义是卷要等 Pod 调度到节点后再按该节点所在拓扑创建,此时应优先排查 Pod 为什么调度不上去。

易错点

  • 只看 PVC 状态不描述:绑定失败原因几乎都写在 Events 里,describe 是必做步骤
  • 排查时顺手核对命名空间与类名拼写,这两项出错最频繁,改完记得重新观察事件
  • 把 WaitForFirstConsumer 的 Pending 当故障:此时先看 Pod 是否被调度,卷会跟着节点拓扑创建
  • 删 PVC 前不看回收策略:Delete 策略会连带删除后端存储数据,生产环境删除前先确认策略与备份

数据来源与参考

  • Kubernetes 官方文档 · Persistent Volumes(调试)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌