可能原因
没有创建对应的 PersistentVolume (PV)
你的 PVC 可能要求一个特定的存储资源(如 storageClassName ),但没有匹配的 PV。
存储类 (StorageClass) 问题
如果 PVC 依赖于 StorageClass 动态创建 PV,而 StorageClass 不存在或未正确配置,PVC 也不会绑定。
运行以下命令检查:
sh
复制
编辑
kubectl get storageclass
kubectl get pvc
已有的 PV 可能不匹配
如果 PV 的 accessModes 或 storage 规格和 PVC 不匹配,绑定不会成功。
检查现有 PV:
sh
复制
编辑
kubectl get pv
kubectl describe pv
解决方案
检查 PVC 状态
kubectl get pvc
kubectl describe pvc www-web-0
看看 Status 是 Pending 还是 Bound。
如果 PVC 处于 Pending 状态
确保有匹配的 PV,或者创建一个:
apiVersion: v1
kind: PersistentVolume
metadata:
name: www-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: manual
hostPath:
path: "/mnt/data"
绑定 PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: www-web-0
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: manual
删除 Pending 的 Pod,让 StatefulSet 重新创建
kubectl delete pod web-0