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

EKS使用aws-efs-csi-driver动态置备EFS卷指定root权限无效问题

问题原因

你使用的aws-efs-csi-driver v1.3.0版本中,EFS接入点(efs-ap)模式的动态置备默认限定UID/GID分配范围为50000-60000,且不会读取StorageClass中配置的uid、gid参数,所以会自动分配50004这类范围中的ID,导致权限不符合预期。

解决方法

方法1:升级CSI驱动版本(推荐)

将aws-efs-csi-driver升级到v1.4.0及以上版本,该版本开始支持自定义UID/GID分配范围,放开限制后你配置的uid: "0"、gid: "0"即可生效。

修改后的StorageClass配置参考:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: test-sc
provisioner: efs.csi.aws.com
parameters:
  provisioningMode: efs-ap
  fileSystemId: fs-ddd8b9e9
  directoryPerms: "775"
  uid: "0"
  gid: "0"
  gidAllocateRange: "0-65535" # 新增参数,放开ID分配范围
reclaimPolicy: Retain
mountOptions:
  - tls

注意:配置更新后需要删除旧的PVC、PV,以及EFS控制台中自动生成的旧接入点,重新创建资源后即可生效。

方法2:静态置备(不升级驱动可用)

如果暂时无法升级驱动,可以手动创建EFS接入点后用静态方式挂载:

  1. 登录AWS EFS控制台,找到文件系统fs-ddd8b9e9,手动创建接入点:
    • 根目录路径自定义,例如/test-root
    • 所有者用户ID填0,所有者组ID填0
    • 根目录权限填775
  2. 创建静态PV,绑定刚才创建的接入点:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: efs-root-pv
spec:
  capacity:
    storage: 50Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: test-sc
  csi:
    driver: efs.csi.aws.com
    volumeHandle: fs-ddd8b9e9::fsap-xxxxxxxxxxxxxx # 替换为你手动创建的接入点ID
  1. 原有PVC无需修改,创建后会自动绑定该PV,挂载后目录权限即为root:root。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:15:04