文章目录
存储类官方文档:
# k8s 存储类官方文档
https://kubernetes.io/docs/concepts/storage/storage-classes/
# 官方插件不支持nfs的存储类动态供给,可以使用第三方插件实现
# 老版本: class.yaml deployment.yaml rbac.yaml
https://github.com/kubernetes-retired/external-storage
https://github.com/kubernetes-retired/external-storage/master/nfs-client/deploy
# 新版本: class.yaml deployment.yaml rbac.yaml
https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/master/deploy
实施
# nfs server 请自行准备
# Tips: nfs-client-provisioner 的pod一直无法创建成功,是需要节点安装 nfs客户端软件(需要在能充当worker角色的节点上安装)
# RHEL系列
yum install -y nfs-utils
# Debian系列
apt-get install nfs-common -y
# 你可以下载使用我准备好的sc部署文件
# 老版本 https://qiniu.wsfnk.com/bokefiles/old-nfs-sc.tar.gz
# 新版本 https://qiniu.wsfnk.com/bokefiles/nfs-sc.tar.gz
# 我们下载使用新版本部署(若你使用老的版本,请将deployment/yaml 中镜像改成 国内的指定版本registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0,否则可能有bug)
# 将github.com 域名改成 raw.githubusercontent.com 就能使用wget下载了
for file in class.yaml deployment.yaml rbac.yaml ; do wget http://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/master/deploy/$file ; done
# 直接应用class.yaml 和 rbac.yaml
kubectl apply -f class.yaml -f rbac.yaml
# kubectl get sc 查看验证
# 修改deployment.yaml 中nfs server的地址和路径
kubectl apply -f deployment.yaml
# 后续就可以直接使用了
[root@k8s-master01 ~]# kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
nfs-client k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 26m
[root@k8s-master01 ~]# kubectl get pods -A | grep nfs
default nfs-client-provisioner-7cc8489b88-zp8tp 1/1 Running 0 18m
如果文章对你有帮助,欢迎点击上方按钮打赏作者
谢谢你请我吃辣条
暂无评论