介绍:

使用Helm软件包管理器将自定义存储类安装到Kubernetes集群中。它还将NFS客户端配置程序安装到群集中,该群集从单个NFS共享动态创建持久卷。

一、NFS 服务器端安装

#yum 安装 NFS 安装包
yum install nfs-utils
#设置开机自启
systemctl enable rpcbind
systemctl enable nfs
#启动 NFS 服务
systemctl start rpcbind
systemctl start nfs
#在服务端配置一个共享目录
mkdir -p /data/k8s-test
#编辑配置文件,配置相关权限
vi /etc/exports
#添加如下配置
/data/k8s-test 192.168.0.1/24(rw,sync,no_root_squash,no_all_squash)

#/opt/data: 共享目录位置。
#192.168.0.1/24: 客户端 IP 范围,* 代表所有,即没有限制。
#rw: 权限设置,可读可写。
#sync: 同步共享目录。
#no_root_squash: 可以使用 root 授权。
#no_all_squash: 可以使用普通用户授权。

#修改后重启
systemctl restart nfs

#可以检查一下本地的共享目录
showmount -e localhost
#这样,服务端就配置好了

二、 配置nfs 存储类。

1、下载helm charts

helm repo add moikot https://moikot.github.io/helm-charts
helm pull moikot/nfs-client-provisioner
解压:
tar -zxvf nfs-client-provisioner-1.2.9.tgz

img

2、修改values.yaml

修改以下部分。

img

安装

helm install nfs-client-provisioner .

img

检查
file

img

详情参考: https://artifacthub.io/packages/helm/moikot/nfs-client-provisioner

镜像下载慢可替换为阿里源镜像

registry.cn-hangzhou.aliyuncs.com/wang_feng/nfs-client-provisioner:3.1.0

错误处理:

如果创建pvc时一直处于pending状态,查看pvc报错

  Normal  ExternalProvisioning  13s (x2 over 25s)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "nfs-client" or manually created by system administrator

查看kubectl logs nfs-client-provisioner-6df55f9474-fdnpc的日志有如下信息:

E1022 07:01:24.615869       1 controller.go:1004] provision "default/test-claim" class "nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make reference

参考一下文章处理:https://www.cnblogs.com/xull0651/p/15439162.html

https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/issues/25

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据