需求:
在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