一、背景
二、部署
查看参考链接2进行部署。
改下配置信息,调试几遍,应该就可以使用了。
三、问题小结
贴一个困扰许久的问题,fluentd运行报文件无法读取的错,定位问题最终定位到docker上来。
运行命令:
docker info
查看挂载文件路径,注意Docker Root Dir该行。
另一台机器docker info信息为:
root dir为/var/lib/docker,所以一份配置文件就无法同时在两台机器上生效。
解决方案:添加多个挂载卷,将存放日志的硬盘均挂载到k8s容器中去。
- name: varlibdockercontainers
# mountPath: /var/lib/docker/containers
mountPath: /data01/docker/containers
readOnly: true
- name: varlibdockercontainers-kube-path
mountPath: /var/log/pods
readOnly: true
- name: varlibdockercontainers2
mountPath: /var/log/containers
readOnly: true
- name: varlibdockercontainers-specialforanother
mountPath: /var/lib/docker/containers
readOnly: true
然后重新部署,fluentd基本上就可以运行成功了。
参考链接:
1.解决exclude问题
2.如何部署fluentd