我正在从在Docker Swarm集群上运行我的容器迁移到在Google容器引擎上运行的Kubernetes . 在Docker Swarm上运行时,我已经配置了Docker Engine的日志驱动程序(https://docs.docker.com/engine/admin/logging/overview/),以Fluentd格式将日志转发到Docker Swarm节点上运行的Fluentd容器,该容器具有自定义配置,然后将Docker日志转发到Elasticsearch集群(运行Kibana),以及AWS S3存储桶 . 如何将其移植到我的Kubernetes节点?
我读到我可以使用守护程序集(https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)在每个节点上运行我的Fluentd容器,但是我找不到任何关于配置Docker Engine日志驱动程序以将Docker日志转发到Fluentd容器的文档,此外,还要格式化日志以我需要的格式 .
1 回答
我们使用了另一个解决方案,我们正在运行流畅的daemonset但是docker将日志写入日志,并且流畅地使用systemd插件访问它们 . https://github.com/reevoo/fluent-plugin-systemd . 我们还使用了fabric8 kubernet元数据插件 - https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter另一种方法是使用tail类型和/var/log/containers/*.log作为路径 . 在kubernetes_metadata_filter中查看一些示例 .