记录rancher nfs挂载问题

Administrator
Administrator
发布于 2020-11-24 / 178 阅读
0
0

记录rancher nfs挂载问题

由于工作中星智链工业互联网门户相关项目部署在k8s,由rancher管理。涉及到图片上传、CMS模板上传、生成的静态文件持久化,因此需要挂载nfs。

此处记录一下nfs服务搭建,以及rancher相关操作记录。

问题过程

  1. 在为后端服务wisdom-server配置数据卷的时候,发现有一个可用的存储类,在该类上创建PV、PVC,挂载,结果容器重启是总是显示一个权限报错问题:
    image.png
               
  2. 百度,google,发现以下资料
  1. 错误依旧。考虑到这个nfs服务已经有较多项目在用,为了防止折腾它影响别的工程,于是考虑自己搭建一个nfs服务,保证可控。正好采用之前部署测试的机器192.168.5.52(现在已经部署到k8s,此机器只剩下测试库).

自行搭建nfs服务

安装rpcbind和nfs

yum -y install nfs-utils

安装nf-utils会自动安装nfs的依赖rpcbind,因此无需单独再安装rpcbind

依次启动rpcbind和nfs

systemctl start rpcbind
systemctl start nfs

查看启动状态

systemctl status rpcbind
systemctl status nfs

image.png

创建共享目录

mkdir /nfs

修改nfs配置文件 /etc/exports

末尾追加: /nfs ${ip}/${port}(rw,sync)
因为是内网测试环境,因此直接配置的是:
/nfs *(rw,sync,no_root_squash)

root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。
no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
all_squash:登入 NFS 主机使用分享目录的使用者,所有用户均被压缩成为匿名使用者,即已nobody用户的身份登录。
anonuid和anongid:明确指定匿名使用者使用指定的id值用户的权限,访问分享的目录。
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置)。
insecure:允许客户端从大于1024的tcp/ip端口连接服务器。

依次重启rpcbind和nfs

systemctl restart rpcbind
systemctl restart nfs

rancher应用新的nfs服务

启动rancher应用商店配置的nfs应用:nfs-client-provisioner
image.png

重点配置其中的

  • nfs.path=nfs服务目录
  • nfs.server=nfs服务器ip地址
  • storageClass.name=这个是设置的存储类名
  • 命名空间nfs-client-provisioner-5-52是创建的新命名空间,对应工作负载中一个新的服务:
    创建PV和PVC
    image.png

在服务中挂载创建好的PVC

升级服务,在数据卷中,添加卷->使用现有PVC,PVC选择刚创建好的nfs-data, 容器路径填写需要持久化的容器目录。
image.png

保存即可。

参考

https://blog.csdn.net/demo_deng/article/details/9568927

https://blog.csdn.net/solaraceboy/article/details/78743563

https://www.cnblogs.com/xiaotengyi/articles/7478957.html


评论