基于社区的 NFS CSI(Container Storage Interface)存储驱动,提供访问多个 NFS 存储系统或账户的能力。
与传统的 NFS 访问客户端-服务器模式不同,NFS 共享存储采用社区的 NFS CSI(Container Storage Interface)存储插件,更符合 Kubernetes 设计理念,并允许客户端访问多个服务器。
v3
、v4.0
和 v4.1
。可以在服务器端执行 nfsstat -s
来查看版本信息。进入 Administrator。
在左侧导航栏点击 Storage > StorageClasses。
点击 Create StorageClass。
在 NFS CSI 右侧点击 Deploy,跳转到 Plugins 页面。
在 Alauda Container Platform NFS CSI
插件右侧点击 ⋮ > Install。
等待部署状态显示 Deployment Successful 后完成部署。
Alauda Container Platform NFS CSI
是一个 Non-config plugin,模块名为 nfs
点击 Create Storage Class。
注意:以下内容以表单形式展示,您也可以选择通过 YAML 完成操作。
选择 NFS CSI,点击 Next。
按照以下说明配置相关参数。
参数 | 说明 |
---|---|
Name | 存储类名称,在当前集群内必须唯一。 |
Service Address | NFS 服务器的访问地址。例如:192.168.2.11 。 |
Path | 服务器节点上 NFS 文件系统的挂载路径。例如:/nfs/data 。 |
NFS Protocol Version | 当前支持三种版本:v3 、v4.0 和 v4.1 。 |
Reclaim Policy | 持久卷的回收策略。 - Delete:当持久卷声明被删除时,绑定的持久卷也会被删除。 - Retain:即使持久卷声明被删除,绑定的持久卷仍然保留。 |
Access Modes | 当前存储支持的所有访问模式。在后续声明持久卷时,只能选择其中一种模式挂载持久卷。 - ReadWriteOnce (RWO):允许单个节点以读写方式挂载。 - ReadWriteMany (RWX):允许多个节点以读写方式挂载。 - ReadOnlyMany (ROX):允许多个节点以只读方式挂载。 |
Allocated Projects | 请分配可以使用此类存储的项目。 如果当前没有项目需要此类存储,可以暂时不分配,后续再更新。 |
subDir | 使用 NFS 共享存储类创建的每个 PersistentVolumeClaim (PVC) 对应 NFS 共享中的一个子目录。默认子目录名称采用 ${pv.metadata.name} (即 PersistentVolume 名称)模式生成。如果默认生成的名称不符合需求,可以自定义子目录命名规则。 |
subDir
字段仅支持以下三种变量,NFS CSI Driver 会自动解析:
${pvc.metadata.namespace}
:PVC 所在命名空间。${pvc.metadata.name}
:PVC 名称。${pv.metadata.name}
:PV 名称。subDir
命名规则必须保证子目录名称唯一,否则多个 PVC 可能共享同一子目录,导致数据冲突。
推荐配置示例:
${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
<cluster-identifier>_${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
该配置适用于多个 Kubernetes 集群共享同一 NFS 服务器的场景,通过在子目录命名规则中加入集群标识(如集群名称),确保集群间区分明确。
不推荐配置示例:
${pvc.metadata.namespace}-${pvc.metadata.name}-${pv.metadata.name}
避免使用 - 作为分隔符,可能导致子目录名称歧义。例如:两个 PVC 分别命名为 ns-1/test
和 ns/1-test
,都可能生成相同子目录 ns-1-test
。
${pvc.metadata.namespace}/${pvc.metadata.name}/${pv.metadata.name}
不要配置 subDir 生成嵌套目录。NFS CSI Driver 删除 PVC 时只会删除最末级目录 ${pv.metadata.name}
,会在 NFS 服务器上留下孤立的父目录。
确认配置信息无误后,点击 Create。