全称 Network File System
NFS,是由SUN公司研制的文件传输协议
NFS主要是采用远程过程调用RPC机制实现文件传输
1. 环境准备
在内网环境下关闭防火墙,外网
systemctl disable firewalld
systemctl stop firewalld
2. Master节点
2.1 安装
# 安装工具集
yum install -y nfs-utils rpcbind
# 启动服务
systemctl start nfs.service
systemctl start rpcbind.service
# 配置开机自启
systemctl enable nfs.service
systemctl enable rpcbind.service
2.2 配置主服务节点共享文件夹
2.2.1 创建共享目录
sudo mkdir /www-data
2.2.2 编辑共享配置
vi /etc/exports
文件内信息
/www-data 162.123.0.51/24(rw,sync)
2.3 检查是否配置成功
[root@k8s-master projects]# exportfs
/www-data 162.123.0.51/24
[root@k8s-master projects]#
3. Node 节点
3.1 安装
# 安装
yum install -y nfs-utils
# 启动
systemctl start nfs.service
# 配置开机自启
systemctl enable nfs.service
3.2 挂载主节点
3.2.1 检索主节点 被贡献出来的目录
命令
showmount -e 主节点IP
[root@k8s-node2 projects]# showmount -e 162.123.0.51
Export list for 162.123.0.51:
/www-data 162.123.0.51/24
[root@k8s-node2 projects]#
3.2.2 挂载目录
mount Master节点IP:Master节点目录 本地Node节点目录
[root@k8s-node2 projects]# mount 162.123.0.51:/www-data /mnt
[root@k8s-node2 projects]#
3.2.3 配置开机自动挂载
# 打开 fstab 文件
vi /etc/fstab
# 最下方 加入挂载配置
162.123.0.51:/data/projects /data/projects nfs rw
NFS文件共享,要确定先创建主服务节点文件夹
4. 常见问题
4.1 Node节点 无权限写入
建议是 要么统一用户 | 要么在主节点固定用户
固定用户做法
4.1.1 查询当前用户uid 和 gid
得知 用户为 root,用户组为 root:root ,用户uid:0,用户gid:0
[root@k8s-node1 ~]# whoami
root
[root@k8s-node1 ~]# groups root
root:root
[root@k8s-node1 ~]# id
uid=0(root) gid=0(root) 组=0(root)
4.1.2 修改文件夹内为指定用户组
得知 用户为 root,用户组为 root:root ,用户uid:0,用户gid:0
[root@k8s-master lib]# chown -R root:root /data/projects
4.1.3 统一NFS用户
[root@k8s-master lib]# cat /etc/exports
/data 10.0.0.53/24(rw,sync,all_squash,anonuid=0,anongid=0)
[root@k8s-master lib]# systemctl restart nfs.service