前段时间通过K8S部署SpringBoot服务,
遇到日志挂载问题,
通过一番搜索,需要在K8S中添加网络文件系统,将日志传输到指定路径,
起初,我使用的操作系统是Ubuntu20,部署了一套NFS,
后来,使用了操作系统CentOS7,又部署了一套NFS,
两个操作系统中安装NFS略有差异,
现总结整理成文章,分享如下,帮助读者在不同的系统部署NFS作参考。
这是公共部分,无论在Ubuntu20还是在CentOS7中都需要创建共享目录,两个系统中创建目录命令是相同的。
sudo mkdir -pv /data/webapp/{logs,images}
创建待挂载的服务日志目录:tutorial
sudo mkdir -pv /data/webapp/logs/tutorial
修改文件夹权限
sudo chmod 777 -R /data/webapp/logs
sudo apt-get -y install nfs-kernel-server
将目标目录托管到NFS,
通过网络访问配置的目录。
sudo vim /etc/exports
配置代理目录后,重启服务,是配置生效。
systemctl restart nfs-server.service
sudo yum install -y nfs-utils
sudo vim /etc/exports
/data/webapp *(rw,sync,no_root_squash)
systemctl enable rpcbind.service
systemctl enable nfs-server.service
systemctl start rpcbind.service
systemctl start nfs-server.service
sudo exportfs
NFS默认固定的程序运行端口为111和2049,其余端口为随机分配,这里将其他端口配置为固定,CentOS7中防火墙默认是开启的,配置端口后,需要手动开启端口。
sudo vim /etc/sysconfig/nfs
MOUNTD_PORT=4001
STATD_PORT=4002
LOCKD_TCPPORT=4003
LOCKD_UDPPORT=4003
RQUOTAD_PORT=4004
sudo firewall-cmd --zone=public --add-port=111/tcp --permanent
sudo firewall-cmd --zone=public --add-port=111/udp --permanent
sudo firewall-cmd --zone=public --add-port=2049/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2049/udp --permanent
sudo firewall-cmd --zone=public --add-port=4001/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4001/udp --permanent
sudo firewall-cmd --zone=public --add-port=4002/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4002/udp --permanent
sudo firewall-cmd --zone=public --add-port=4003/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4003/udp --permanent
sudo firewall-cmd --zone=public --add-port=4004/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4004/udp --permanent
sudo systemctl restart nfs-server.service
sudo exportfs
无。
这里一定要注意Deployment中的日志路径与本机路径匹配正确。