您的位置:首页 > 运维架构 > Tomcat

Kubernetes 1.5 实践Tomcat日志NFS服务持久化

2017-01-16 16:38 543 查看
在配置Kubernetes1.5搭建内部测试环境后,日志一直是一个不好解决的问题,由于许多开发人员和测试人员对ELK不适应,推广起来也很费力。为此,在创建Tomcat时,也将日志持久出来,供开发人员和测试人员使用

使用ELK管理日志,

[b]环境说明[/b]

*Kubernet 1.5, Centos 7

NFS服务器配置

1. 软件安装

服务安装

使用yum安装

yum -y install nfs-utils rpcbind


2. 软件配置

修改/etc/exports,加入以下内容

/opt/tomcat7logs *(rw,no_root_squash,no_all_squash,sync)


3. 使配置生效

使用下面命令让配置生效。

exportfs -rv


4.节点操作

在每一个节点需要nfs-utils

yum install nfs-utils -y


Tomcat配置

此部分参照网址https://my.oschina.net/newlife111/blog/729921

修改Tomcat配置

修改logging.properties

通过pod名和pod命名空间变量,唯一标识输出文件名。

给所有的log前缀加上{my.pod.name}_{my.pod.namespace}

比如:

1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.


改成

1catalina.org.apache.juli.AsyncFileHandler.prefix = ${my.pod.name}_${my.pod.namespace}_catalina.


修改 server.xml

也是通过pod名和pod命名空间变量,唯一标识输出文件名,这里标识的是localhost-access日志文件。

找到

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"


这个节点,改成

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="${my.pod.name}_${my.pod.namespace}_localhost-access-log" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />


修改 catalina.sh

通过容器传入的变量在tomcat中并不能直接使用,需要在tomcat的启动脚本中,在java的启动命令中加上-D选项。找到所有有-Dcatalina.base=”\”$CATALINA_BASE\”” 的上方或下方

-Dmy.pod.name="$MY_POD_NAME"
-Dmy.pod.namespace="$MY_POD_NAMESPACE"


创建Deployment

在yaml文件中加入变量和nfs挂载

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tomcat-dm
spec:
replicas: 3
selector:
matchLabels:
name: tomcat-dm
template:
metadata:
labels:
name: tomcat-dm
spec:
containers:
- name: tomcat
image: 192.168.7.248:5002/tomcat:1.1
imagePullPolicy: Always
volumeMounts:
- name: logstomcat7
mountPath:  /opt/tomcat7/logs
readOnly: false
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- containerPort: 8080
volumes:
- name: logstomcat7
nfs:
server: 192.168.7.206
path: /opt/tomcat7logs


测试完成

有什么问题可以直接评论.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat centos nfs kubernet