K8S集群1.30版本怎么配置NFS动态存储

Github网站
https://github.com/kubernetes-csi/csi-driver-nfs

  1. 版本查看
    系统版本
# lsb_release -a
No LSB modules are available.
Distributor ID:Ubuntu
Description:Ubuntu 22.04.4 LTS
Release:22.04
Codename:jammy
root@Ubuntu22K8SMaster003171:~/csi-driver-nfs# uname  -a
Linux Ubuntu22K8SMaster003171 6.8.0-58-generic #60~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 28 16:09:21 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

软件版本

# kubectl version
Client Version: v1.34.1
Kustomize Version: v5.7.1
Server Version: v1.33.5+k3s1
  1. 安装配置
    安装驱动
git clone https://github.com/kubernetes-csi/csi-driver-nfs.git
cd csi-driver-nfs
./deploy/install-driver.sh v4.12.1 local

检查pod状态

# kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller
kubectl -n kube-system get pod -o wide -l app=csi-nfs-node
NAME                                  READY   STATUS    RESTARTS        AGE     IP              NODE                  NOMINATED NODE   READINESS GATES
csi-nfs-controller-6f78747487-v4p45   5/5     Running   3 (2d15h ago)   2d15h   192.168.3.162   rocky9k8snode003162   <none>           <none>
NAME                 READY   STATUS    RESTARTS        AGE     IP              NODE                  NOMINATED NODE   READINESS GATES
csi-nfs-node-9sxv4   3/3     Running   1 (2d15h ago)   2d15h   192.168.3.161   rocky9k8snode003161   <none>           <none>
csi-nfs-node-hxg6f   3/3     Running   1 (2d15h ago)   2d15h   192.168.3.162   rocky9k8snode003162   <none>           <none>
csi-nfs-node-lm2qv   3/3     Running   1 (2d15h ago)   2d15h   192.168.3.163   rocky9k8snode003163   <none>           <none>

创建storageclass

# cd deploy
# 编辑配置文件
# 修改nfs服务器对应信息
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
 # 设置storageclass名
  name: managed-nfs-storage
provisioner: nfs.csi.k8s.io
parameters:
 # NFS服务器对应IP地址和文件夹信息
 # NFS服务器需要先配置好
  server: 192.168.3.63
  share: /ifs/kubernetes/
  # 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
allowVolumeExpansion: true
mountOptions:
  - nfsvers=4.1

创建storageclass

# kubectl apply -f storageclass.yaml
storageclass.storage.k8s.io/managed-nfs-storage unchanged

查看storageclass

# kubectl get storageclass managed-nfs-storage 
NAME                  PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
managed-nfs-storage   nfs.csi.k8s.io   Delete          Immediate           true                   2d15h

storageclass使用方法和1.1版本一致

posted @ 2025-11-10 09:13  minseo  阅读(10)  评论(0)    收藏  举报