tomcat获取kubernetes自定义变量
1、设置kubernetes自定义变量MY_POD_NAME
2、设置tomcat的JAVA_OPTS -D自定义变量名称:值(yaml里面定义的变量)
3、tomcat配置文件引用变量,获取kubernetes的pod主机名,处理多个pod日志按照主机名命名解决日志交叉写入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [root@k8s-master ~] apiVersion: v1 kind: Pod metadata: name: tomcat-istio annotations: spec: containers: - name: tomcat-istio image: toamcat:demo env: - name: JAVA_OPTS value: "-server -Xms4096M -Xmx4096M -Xss256K -Dmy.pod.name=$MY_POD_NAME -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxPermSize=256M -XX:PermSize=128M" - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name
|
1 2
| DOckerfile sed -i "prefix="localhost_access_log." suffix=".txt"/prefix="$\{my.pod.name\}__access_log" suffix=".txt"/g" server.xml
|
