需求:
在k8s集群里的某个模块生成的目录文件或者更新的目录文件,存储到外面某台服务器上
1.安装nfs服务(192.168.1.2 Ubuntu 16.04)
apt-get install nfs-kernel-server nfs-common
2.配置nfs挂载目录
vi /etc/exports /data *(rw,sync,no_root_squash) /data:共享目录 *:所有主机能访问 rw:读写权限 ro:只读 sync:同步 no_root_squash:不降低root的权限
3.重启nfs
/etc/init.d/nfs-kernel-server restart
4.查看
showmount showmount -e
5.另外,特别注意,开放端口,不然其他主机不能访问
tcp 111 udp 111 tcp 2049 udp 4046
6.更新k8s模块的yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: newshomebg
namespace: mod
labels:
app: newshomebg
spec:
replicas: 1
selector:
matchLabels:
app: newshomebg
template:
metadata:
labels:
app: newshomebg
spec:
containers:
- name: newshomebg
image: xxx
ports:
- containerPort: 8080
env:
- name: SPRING_DATASOURCE_USERNAME
value: 'root'
volumeMounts:
- name: nfs-volume #设置的名称,和下面的name要一样的
mountPath: /home/uploads #需要挂载的目录
subPath: newshomebg #卷的子目录,也就是在nfs服务目录里生成这个子目录
volumes:
- name: nfs-volume #这个卷的名称,和上面的name要一样的
nfs: #这里是nfs挂载
server: 192.168.1.2 #nfs服务器的ip或者域名
path: "/data" #nfs服务配置的挂载目录
imagePullSecrets:
- name: xxx
以上红色标记的就等同于命令:mount 192.168.1.2:/data/newshomebg /home/uploads