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

EKS 1.21集群Pod因未绑定EFS类型PVC处于Pending状态排查求助

AWS EKS 1.21中EFS PVC未绑定导致Pod Pending的排查步骤

1. 先排查PVC本身状态与事件

  • 执行kubectl describe pvc <你的PVC名称>,重点查看:
    • PVC的Status字段是否为Pending
    • Events模块的详细报错,比如是否提示无可用PV、存储类不匹配等信息
    • 确认PVC指定的storageClassName是否对应集群中已配置的EFS存储类

2. 检查PV配置(静态PV场景)

如果是手动创建的PV而非动态供给:

  • 执行kubectl describe pv <你的PV名称>,验证:
    • PV的Status是否为Available(若已被其他PVC绑定则显示Bound)
    • AccessModes是否与PVC的需求完全匹配(比如PVC要求ReadWriteMany,PV需对应一致)
    • Capacity是否满足PVC的存储请求
    • PV的spec.csi.volumeHandle里的EFS文件系统ID是否正确

3. 验证EFS文件系统的可用性与网络连通性

  • 登录EKS集群的任意节点(可通过kubectl debug node/<节点名称> -it --image=busybox进入调试环境),尝试手动挂载EFS:
    mount -t efs <EFS文件系统ID>:/ /tmp/test-efs-mount
    
    若挂载失败,排查以下网络问题:
    • EFS的安全组是否允许EKS节点安全组的2049端口(NFS协议端口)入站访问
    • EKS节点的安全组是否允许2049端口出站访问
    • EFS文件系统与EKS集群是否处于同一个VPC,或已通过VPC peering建立连通
  • 登录AWS控制台,确认EFS文件系统状态为Available,无删除或故障状态

4. 检查EFS CSI驱动状态(动态PV场景)

如果使用EFS CSI驱动动态创建PV:

  • 执行kubectl get pods -n kube-system | grep efs,确认EFS CSI控制器和节点插件的Pod均处于Running状态
  • 查看控制器Pod的日志,排查创建PV失败的原因:
    kubectl logs <efs-csi-controller-pod名称> -n kube-system -c efs-plugin
    
  • 确认EFS CSI驱动版本与Kubernetes 1.21兼容(建议使用v1.3.0及以上版本),且已正确安装

5. 核对Pod的挂载配置

  • 查看Pod的YAML配置,确认volumes字段中引用的PVC名称拼写正确,volumeMounts的挂载路径和PVC关联无误
  • 检查Pod的调度约束(如nodeSelector、affinity),确保调度到的节点能访问EFS文件系统(比如节点在EFS的可用区内)

6. 验证IAM权限配置

若使用IRSA(IAM Roles for Service Accounts):

  • 确认EFS CSI控制器的ServiceAccount(通常在kube-system命名空间下)已关联具备以下权限的IAM角色:
    • elasticfilesystem:DescribeFileSystems
    • elasticfilesystem:CreateAccessPoint
    • elasticfilesystem:DeleteAccessPoint
  • 若使用节点IAM角色,确认节点角色包含访问EFS的相关权限,未被IAM策略限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:56:06