按照如下教程配置NFS

先服务器:
https://kubesphere.io/zh/docs/v3.3/reference/storage-system-installation/nfs-server/
后客户端:
https://kubesphere.io/zh/docs/v3.3/installing-on-linux/persistent-storage-configurations/install-nfs-client/
按照链接操作以后,在客户端上面把目录挂载到服务端

root@client_banana:/#  mount 172.25.110.41:/mnt/nfs_share /mnt/client_floder
客户端: mount <server-ip>:<the_share_dir_onserver>  <local_share_dir> 
#检查nfs的状态
service nfs-server status
# 停止nfs
service nfs-server stop
# 启动nfs
service nfs-server start

创建StorageClass

先决条件

nfs-server、nfs-client已经安装完毕并挂载

步骤概览

  1. 安装Helm
  2. 安装卷插件 NFS-Subdir
  3. 验证安装

安装Helm

参考Helm官方文档:https://helm.sh/zh/docs/intro/install/
笔者使用的是Ubuntu,所以采用如下命令安装:

curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

安装卷插件 NFS-Subdir

参考插件安装指南:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/blob/master/charts/nfs-subdir-external-provisioner/README.md

$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=x.x.x.x \
    --set nfs.path=/exported/path

把 nfs.server 修改成自己的nfs.server的IP。 nfs.path 改成共享目录的路径

INSTALLATION FAILED

写错路径或者主机以后,想再执行一次命令,需要先删除之前部署失败的package
报错信息:

Error: INSTALLATION FAILED: cannot re-use a name that is still in use

解决方案

//查看fail的包在哪
helm ls --all-namespaces 
//删除该包
helm -n <namespace> delete <package-name>

镜像拉取失败

默认镜像地址是:registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
可能会出现镜像拉取失败的情况。
去dockerhub上寻找相同版本的即可。我采用的是以下版本:
dyrnq/nfs-subdir-external-provisioner:v4.0.2

验证安装

kubectl get sc

可以看到已经有一个叫 nfs-share 的StorageClass。
Kubuesphere部署Ruoyi(三):持久化存储配置-LMLPHP
如果是k8sp平台,可以去创建一个pvc,再去虚机里自己设置的共享目录查看一下有没有相应的pvc。该步骤省略。

04-20 17:58