k8s 1.24.1 后端存储对接 nfs
github 地址
https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
把代码参考下载到本地,在 deploy 目录下可以看到下面文件
前提
首先部署了 nfs-server
我的环境 nfs-server ip 是 172.18.180.226; 共享目录是 /data/nfs
配置 provisioner
mkdir /data/yaml/default/nfs-subdir-external-provisioner -p
cd /data/yaml/default/nfs-subdir-external-provisioner
# 把 代码仓库 deploy 下 class.yaml deployment.yaml rbac.yaml test-claim.yaml test-pod.yaml 上传到该目录下
# 配置 RBAC 授权
kubectl apply -f rbac.yaml
# Configure the NFS subdir external provisioner
vi deployment.yaml
# 这里需要根据自己的配置修改下面3处位置
# 改镜像
image: willdockerhub/nfs-subdir-external-provisioner:v4.0.2
# 改 nfs server ip 和 共享目录
- name: NFS_SERVER
value: 172.18.180.226
- name: NFS_PATH
value: /data/nfs
- name: nfs-client-root
nfs:
server: 172.18.180.226
path: /data/nfs
kubectl apply -f deployment.yaml
# 部署 storage class
vi class.yaml
# 这里添加了一个注解,把 这个 sc 设置为默认的 sc
kind: StorageClass
metadata:
name: nfs-client
annotations:
storageclass.kubernetes.io/is-default-class: "true"
kubectl apply -f class.yaml
kubectl get sc
测试
kubectl apply -f test-claim.yaml -f test-pod.yaml