You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将同一EFS文件系统配置为两个静态Persistent Volume?

问题排查与解决

核心问题分析

结合配置和错误信息,导致挂载失败的原因主要有以下几点:

1. PV的volumeHandle格式错误

EFS CSI驱动要求volumeHandle直接填写EFS文件系统ID,而非完整域名。你配置中写的fs-0fd788366150f8667.efs.us-east-1.amazonaws.com会导致驱动无法正确识别目标文件系统。

修复方式:
将两个PV的volumeHandle修改为纯文件系统ID:

volumeHandle: fs-0fd788366150f8667

2. EFS中未提前创建指定路径

EFS CSI驱动不会自动创建volumeAttributes里指定的/logs和/data目录,若这些目录不存在,挂载操作会直接失败。

修复方式:
通过EC2实例或EFS挂载助手连接到EFS,手动创建目录:

# 临时挂载EFS到本地目录
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-0fd788366150f8667.efs.us-east-1.amazonaws.com:/ /tmp/efs-mount
# 创建所需目录
sudo mkdir -p /tmp/efs-mount/logs /tmp/efs-mount/data
# 卸载临时挂载
sudo umount /tmp/efs-mount

3. PVC存储请求与PV容量不匹配

pvc002请求6Gi存储,但对应的pv002容量仅为5Gi,这会导致PVC无法绑定到PV,虽然当前错误指向logs卷,但该问题也会影响整体部署。

修复方式:
二选一即可:

  • 调整pvc002的存储请求为≤5Gi:
resources:
  requests:
    storage: 5Gi
  • 或调整pv002的容量为≥6Gi:
capacity:
  storage: 6Gi

4. EFS安全组配置问题

确保EFS的安全组允许Kubernetes集群节点访问NFS端口(2049),若节点无法连通EFS,挂载操作必然失败。

检查方式:

  • 查看EFS安全组规则,确认存在入站规则允许节点安全组访问2049/TCP端口。
  • 在节点上测试连通性:telnet fs-0fd788366150f8667.efs.us-east-1.amazonaws.com 2049,能连通则配置正常。

修复后验证步骤

  1. 删除原有PV和PVC:
kubectl delete pv pv001 pv002
kubectl delete pvc pvc001 pvc002
  1. 应用修改后的PV和PVC配置文件。
  2. 重新部署Deployment:
kubectl apply -f deployment.yaml
  1. 检查Pod状态,确认挂载成功:
kubectl get pods
kubectl describe pod <pod-name>  # 查看Events部分的挂载日志

内容的提问来源于stack exchange,提问作者meallhour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:25:35