使用NFS实现不同Pod中Tomcat工程目录共享

Network File System (NFS) 网络文件系统, 能使使用者访问网络上的文件就像在本地一样,主要采用远程调用RPC机制实现文件传输

在主节点上安装 NFS 与 RPC 服务

yum install -y nfs-utils rpcbind

创建目录:/usr/local/data/www-data

编辑文件:vi /etc/exports,写入:/usr/local/www-data 192.168.163.129/24(rw,sync)

启动nfsrpc服务(设置开机启动步骤略过):

systemctl start nfs.service

systemctl start rpcbind.service

执行:exportfs查看结果

从节点

yum install -y nfs-utils

showmount -e 192.168.163.132 查看主服务器的共享文件夹

mount 192.168.163.132:/usr/local/data/www-data /mnt 将远程主机的文件夹映射到从节点本地文件

将从节点的nfs服务设置开机启动

至此,主节点的/usr/local/data/www-data路径挂载到从节点的/mnt路径中,在从节点上访问或修改/mnt路径下的文件,与在主节点有一样的效果

编辑deployment配置文件

修改tomcat-deploy.yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apiVersion: extensions/V1beta1
kind: Deployment
metadata:
name: tomcat-deploy
spec:
replicas: 2
template:
metadata:
labels:
app: tomcat-cluster
spec:
volumes:
- name: web-app
hostPath:
path: /mnt
containers:
- name: tomca-cluster
images: tomcat:latest
ports:
- containerPort: 8080
volumeMounts:
- name: web-app
mountPath: /usr/local/tomcat/webapps

如果已经运行了由tomcat-deploy.yml部署的tomcat集群服务,可以使用kubectl delete deployment tomcat-deploy删除已运行的服务,重启tomcat-deploy服务后,两个Pod中的Tomcat服务的工程路径都和主节点中对外提供NFS服务的路径保持一致,则修改主节点中路径即可修改所有的从节点的Pod中Tomcat服务

您的支持鼓励我继续创作!