我的pod有多个日志文件,例如php-fpm
+ nginx
堆栈。如何收集日志文件?
我知道nginx使用符号链接来做这件事。但这不能处理超过2个日志文件。
我想在主机中将卷装入pod,但是如何为每个pod设置不同的文件夹?无论如何要将主机中podname
命名的文件夹挂载到pod文件夹/logs
。
raychaser提供了一种收集/var/log/containers/
文件夹的方法,但我认为它不适用于kubernetes。
答案 0 :(得分:1)
最后,我找到了一种收集日志的方法。
/med/log
。entrypoint.sh
。/log/$HOSTNAME
ln -sf /log/$HOSTNAME /med/log
。在k8s中,您需要将主机日志文件夹/var/log/k8s/
挂载到/log
。日志目录看起来像:
/var/log/k8s/
|-- app1-${container_id}/
| |-- access.log
| |-- error.log
|-- app2-${container_id}/
|-- access.log
|-- error.log
答案 1 :(得分:0)
您可以使用Fluentd之类的日志记录解决方案,它允许您定义多个信息源。由于您有几个日志文件,它可以适用于您的用例。
http://docs.fluentd.org/v0.12/articles/quickstart http://docs.fluentd.org/v0.12/articles/config-file