k8s 动态NFS Subdir External Provisioner

已适配k8s-1.23.9集群(docker运行时)

1.部署NFS

nfs 服务端(k8s-master)(ip:192.168.1.201)

# 所有服务端节点安装nfs
yum install -y nfs-utils
systemctl enable nfs-server rpcbind --now

# 创建nfs共享目录、授权
mkdir -p /data/k8s && chmod -R 777 /data/k8s

# 写入exports
cat > /etc/exports << EOF
/data/k8s 192.168.1.0/24(rw,sync,no_root_squash)
EOF

systemctl reload nfs-server

使用如下命令进行验证
# showmount -e 192.168.1.201
Export list for 192.168.1.201:
/data/k8s 192.168.1.0/24

nfs 客户端(k8s-node)

# 所有使用nfs的k8s节点安装nfs客户端
yum install -y nfs-utils

systemctl enable rpcbind --now

使用如下命令进行验证
# showmount -e 192.168.1.201
Export list for 192.168.1.201:
/data/k8s 192.168.1.0/24

2.部署 NFS Subdir External Provisioner

mkdir nfs-subdir-external-provisioner-4.0.17 && cd nfs-subdir-external-provisioner-4.0.17
# 版本:nfs-subdir-external-provisioner-4.0.17

wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/raw/nfs-subdir-external-provisioner-4.0.17/deploy/deployment.yaml

wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/raw/master/deploy/rbac.yaml

wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/raw/master/deploy/class.yaml
# 1、修改镜像(默认谷歌k8s.gcr.io)
sed -i 's/k8s.gcr.io\/sig-storage/dyrnq/g' deployment.yaml

# 2、修改nfs服务端地址
sed -i 's/10.3.243.101/192.168.1.201/g' deployment.yaml

# 3、修改存储地址(/data/k8s)
sed -i 's#\/ifs\/kubernetes#\/data\/k8s#g' deployment.yaml

以上中镜像使用的版本是:dyrnq/nfs-subdir-external-provisioner:v4.0.2

 kubectl apply -f .
kubectl get pods -n default -l app=nfs-client-provisioner

kubectl get storageclass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值