K8s问题:可用的EFS Persistent Volume无法绑定PVC
排查解决思路
检查
efs-local-sc存储类配置
目前仅提供了efs-shared-sc的配置,需确认efs-local-sc是否存在且配置正确:- 静态PV场景下,存储类的
provisioner必须设置为kubernetes.io/no-provisioner,否则K8s会尝试调用外部配置器动态创建卷,忽略手动创建的静态PV。
正确的静态存储类示例:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: efs-local-sc provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer- 静态PV场景下,存储类的
修正PV与PVC的名称匹配
本地主目录PV的claimRef.name设置为confluence-local-home,但实际创建的PVC名称是local-home-confluence-0,名称不匹配导致PV无法绑定到PVC。需:- 要么修改PV的
claimRef.name为实际PVC名称local-home-confluence-0 - 要么调整Helm配置,让生成的PVC名称与PV的
claimRef一致
- 要么修改PV的
验证EFS文件系统的可达性
在EKS节点上手动挂载本地主目录对应的EFS卷(fs-0ee787b1d3c2ce898),确认是否能正常挂载:mount -t efs fs-0ee787b1d3c2ce898:/ /tmp/test-efs-local如果挂载失败,检查EFS安全组是否允许EKS节点的NFS(2049端口)流量,或EFS是否在EKS集群所在VPC内。
检查EFS CSI驱动运行状态
确认CSI控制器Pod在kube-system命名空间正常运行:kubectl get pods -n kube-system -l app=efs-csi-controller查看控制器Pod日志,排查针对
fs-0ee787b1d3c2ce898的错误信息:kubectl logs -n kube-system -l app=efs-csi-controller -c efs-plugin核对PV与PVC的参数匹配
确认PV的accessModes、storage容量与PVC的需求一致,避免因参数不匹配导致绑定失败。
内容的提问来源于stack exchange,提问作者BlindPrimate
相关产品推荐
相关产品推荐

