前言
nfs后端我这里使用的是TrueNAS SCALE的nfs,csi-driver-nfs使用的helm:csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts
nfs设置
先创建一个单独的数据集,并且权限设置成777,打开nfs共享
点击编辑,点开高级
像这样mapuser mapgroup改成root
然后在服务- NFS 编辑
如果你是Linux,请像下面这样设置
vim /etc/exports
"/mnt/important/k8s-application"\
*(rw,sync,no_subtree_check,no_root_squash)部署csi-driver-nfs
来到你的k8s主机终端上
安装helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh添加helm csi-driver-nfs仓库
helm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts创建一个目录存values.yaml
mkdir csi-driver-nfs
cd csi-driver-nfs
vim values.yamlstorageClass:
create: true
name: nfs-csi
annotations:
storageclass.kubernetes.io/is-default-class: "true"
parameters:
server: 10.0.0.10
share: /mnt/important/k8s-application
subDir:
mountPermissions: "0"
# csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
# csi.storage.k8s.io/provisioner-secret-name: "mount-options"
# csi.storage.k8s.io/provisioner-secret-namespace: "default"
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1根据自己的IP和路径修改
- 10.0.0.10是我的True NAS
- /mnt/important/k8s-application 是我的共享路径
创建一个命名空间安装csi-driver-nfs
kubectl create ns csi-driver-nfs安装csi-driver-nfs
helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs -n csi-driver-nfs -f values.yaml等待安装,查看storage class是否存在
kubectl -n csi-driver-nfs get pod
kubectl get storageclass像我这样回现就是可以了,也可以自己创建一个pod测试,我就不测试了





