Kubernetes 1.5 实践Tomcat日志NFS服务持久化
2017-01-16 16:38
543 查看
在配置Kubernetes1.5搭建内部测试环境后,日志一直是一个不好解决的问题,由于许多开发人员和测试人员对ELK不适应,推广起来也很费力。为此,在创建Tomcat时,也将日志持久出来,供开发人员和测试人员使用
使用ELK管理日志,
[b]环境说明[/b]
*Kubernet 1.5, Centos 7
使用yum安装
给所有的log前缀加上{my.pod.name}_{my.pod.namespace}
比如:
改成
找到
这个节点,改成
测试完成
有什么问题可以直接评论.
使用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-utilsyum 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
测试完成
有什么问题可以直接评论.
相关文章推荐
- windows下tomcat注册成服务/控制台日志输出(tomcat8-stderr.2015-1)
- 利用rsync服务定时同步tomcat日志
- Openstack+Kubernetes+Docker微服务实践之路--RPC
- 【阿里云网站日志分析实践】通过Log Service日志服务导入MaxCompute分析
- Kubernetes 1.5 实践 给Pod中的容器定义命令和参数
- 使用linux服务logrotate归档tomcat日志文件
- 在线清理Apache、Tomcat、Nginx等Web服务产生的日志文件
- tomcat 使用 网络文件服务NFS
- Openstack+Kubernetes+Docker微服务实践之路--弹性扩容
- 【阿里云网站日志分析实践】通过Log Service日志服务导入MaxCompute分析
- NFS存储服务深度实践
- Openstack+Kubernetes+Docker微服务实践之路--选型
- Openstack+Kubernetes+Docker微服务实践之路--基础设施
- Tomcat服务启动限制日志过大的方法、使用管理员启动,注册服务删除服务
- 容器云最佳实践:Docker、微服务、应用容器化之Kubernetes实践
- Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
- Kubernetes容器集群中的日志系统集成实践
- Openstack+Kubernetes+Docker微服务实践之路--Docker和Registry2
- 细数Kubernetes Service那些事-kubernetes 服务发布以及在eBay的实践
- Kubernetes微服务架构应用实践