nfs-provisioner部署手册(helm版本)
使用 Helm 部署 nfs-provisioner
前提条件
- Kubernetes 集群已搭建完成。
- Helm 已安装完成。
nfs-provisioner部署流程
1. 安装 NFS 服务器
1.1 安装 NFS 工具包
在 NFS 服务器上安装 nfs-utils 包:
sudo yum install -y nfs-utils
1.2 创建共享目录
创建一个目录作为 NFS 共享目录,并设置权限:
sudo mkdir /nfs_share
sudo chmod 777 /nfs_share # 允许所有用户访问
1.3 配置 NFS 导出
编辑 /etc/exports 文件,定义共享目录和访问权限:
sudo vi /etc/exports
添加以下内容:
/nfs_share *(rw,sync,no_subtree_check)
- /nfs_share:共享目录。
- *:允许所有客户端访问。可以替换为特定 IP 或网段(如 192.168.1.0/24)。
- rw:允许读写。
- async:异步写入。
- no_subtree_check:禁用子目录检查(减少锁竞争)
保存并退出后,启动 NFS 服务:
sudo systemctl enable nfs --now
2. 部署 NFS Provisioner
NFS Provisioner 是一个动态存储提供程序,可以为 Kubernetes 集群提供 NFS 存储。
2.1 添加 Helm 仓库
添加 NFS Provisioner 的 Helm 仓库:
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
helm repo update
2.2 创建配置文件
创建 nfs-provisioner-values.yaml 文件,内容如下:
假设 NFS 服务器地址是 192.168.1.100,共享目录是 /nfs_share:
replicaCount: 1
nfs:
server: "192.168.1.100" #替换成NFS服务器地址
path: "/nfs_share" #替换为NFS 服务器共享目录
storageClass:
name: "nfs-sc"
defaultClass: true
reclaimPolicy: "Retain"
accessModes: ReadWriteOnce
pathPattern: "k8s/${.PVC.namespace}/${.PVC.name}" #使用命名空间/PVC名称作为路径
image:
repository: "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/sig-storage/nfs-subdir-external-provisioner"
tag: "v4.0.2"
2.3 部署 NFS Provisioner
helm upgrade --install nfs-provisioner \
nfs-provisioner/nfs-subdir-external-provisioner \
-f nfs-provisioner-values.yaml \
--namespace nfs-provisioner \
--create-namespace \
--version 4.0.18

浙公网安备 33010602011771号