tomcat部署要点总结:
利用configmap实现对server.xml的挂载
利用tomcat-ingress实现对tomcat对外网络暴露
利用pv实现对tomcat日志存储
利用statefulset创建tomcat pod。
利用mt-math.yaml创建mt-math命名空间
注:默认已安装ingress-nginx,core-dns,NFS
1.NFS共享目录下创建tomcat 日志存放目录及项目存放目录;这里手动创建pv,当然pv也可以进行动态创建
mkdir -p /NFS/tomcat-wwwroot/ROOT/;mkdir -p /NFS/pv-tomcat-log/{01,02,03} #创建日志目录及项目目录 echo "k8s-ingress-tomcat-nfs-pv -Wyltest">/mnt/tomcat-wwwroot/ROOT/index.jsp #创建测试首页文件jsp mkdir -p /server/yaml/app/tomcat #在master上创建yaml文件存放目录
2.创建3个pv yaml文件 分别为目录分别绑定到目录:/NFS/pv-tomcat-log/{01,02,03}
cd /server/yaml/app/tomcat/ cat tomcat-pv-nfs.yaml apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-tomcat01 #创建的pv名称可创建多个. namespace: mt-math #属于的命名空间 spec: capacity: storage: 200M #创建的pv容量为1G accessModes: - ReadWriteMany #pv的访问模式:可读可写可挂在多个节点 persistentVolumeReclaimPolicy: Recycle #回收策略 #storageClassName: xxx nfs: #创建的pv数据来源 path: /NFS/pv-tomcat-log/01 #数据源目录 server: 192.168.0.14 #数据源ip --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-tomcat02 #创建的pv名称可创建多个. namespace: mt-math #属于的命名空间 spec: capacity: storage: 200M #创建的pv容量为1G accessModes: - ReadWriteMany #pv的访问模式:可读可写可挂在多个节点 #persistentVolumeReclaimPolicy: Retain #回收策略 persistentVolumeReclaimPolicy: Recycle #回收策略 由于是持久化日志没必要删除pod保留日志。只是为了方便查看日志内容。 #storageClassName: xxx nfs: #创建的pv数据来源 path: /NFS/pv-tomcat-log/02 #数据源目录 server: 192.168.0.14 #数据源ip --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-tomcat03 #创建的pv名称可创建多个. namespace: mt-math #属于的命名空间 spec: capacity: storage: 200M #创建的pv容量为1G accessModes: - ReadWriteMany #pv的访问模式:可读可写可挂在多个节点 persistentVolumeReclaimPolicy: Recycle #回收策略 #storageClassName: xxx nfs: #创建的pv数据来源 path: /NFS/pv-tomcat-log/03 #数据源目录 server: 192.168.0.14 #数据源ip
3.创建mt-math命名空间,
cd /server/yaml/app/namespace cat mt-math.yaml apiVersion: v1 kind: Namespace metadata: name: mt-math
4.创建对tomcat 配置文件server.xml创建configmap yaml文件
cat tomcat-configmap.yaml apiVersion: v1 data: server.xml: | <?xml version='1.0' encoding='utf-8'?> <