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
posted @ 2025-07-24 13:27  怀恋小时候  阅读(127)  评论(0)    收藏  举报