安装nfs(服务端)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
yum install -y nfs-utils
设置开机启动并立即启动
systemctl enable rpcbind --now
systemctl enable nfs --now
创建共享目录并授予权限
mkdir -p /nfs/share/data
chmod 755 /nfs/share/data
设置共享目录
vim /etc/exports
/nfs/share/data/ *(rw,sync,no_root_squash,no_all_squash)
# 重启nfs
systemctl restart nfs
# 检查共享目录
showmount -e localhost
客户端
yum install -y nfs-utils
设置开机启动并立即启动
systemctl enable rpcbind --now
查看服务器共享目录
showmount -e 10.211.55.3
挂载目录
mkdir -p /nfs/share/data
mount -t nfs 10.211.55.3:/nfs/share/data /nfs/share/data
设置开机自动挂载
vim /etc/fstab
10.211.55.3:/nfs/share/data /nfs/share/data nfs defaults 0 0
安装NFS CSI 驱动程序
# 记得修改镜像(我以把修改后的上传到附件中)
git clone https://github.com/kubernetes-csi/csi-driver-nfs.git
cd csi-driver-nfs
./deploy/install-driver.sh v4.9.0 local
创建存储类并配置成默认存储类
创建配置文件:storageclass-nfs.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-csi
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: nfs.csi.k8s.io
parameters:
server: 10.211.55.3
share: /nfs/share/data/
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
创建
kubectl apply -f storageclass-nfs.yaml
验证
创建配置文件:pvc-nfs-csi-dynamic.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-dynamic
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-csi
创建
kubectl apply -f pvc-nfs-csi-dynamic.yaml
查看pvc/pv
# pvc
kubectl get pvc
# pv
kubectl get pv
# 查看共享文件夹下pv
ls /nfs/share/data/
# 清理 pvc
kubectl delete -f pvc-nfs-csi-dynamic.yaml