fluentd收集k8s日志

在Kubernetes (k8s) 环境中使用 Fluentd 收集日志是一种常见做法,可以帮助你集中管理和分析集群中的日志。

1. 安装 Fluentd

首先,确保你的 Kubernetes 集群中安装了 Fluentd。你可以通过 Helm、DaemonSet 或者直接在 Pod 中部署 Fluentd。

官方文档:

https://docs.fluentd.org/container-deployment/kubernetes

对于Kubernetes,DaemonSet确保所有(或部分)节点运行pod的副本。为了解决日志收集问题,我们将实现Fluentd DaemonSet。

请使用GIT从命令行获取存储库的副本:

git clone https://github.com/fluent/fluentd-kubernetes-daemonset.git

参考创建daemonset部署fluentd:

https://github.com/fluent/fluentd-kubernetes-daemonset/blob/master/fluentd-daemonset-elasticsearch-rbac.yaml

请修改其中的环境变量:

env:
          - name:  FLUENT_ELASTICSEARCH_HOST
            value: "elasticsearch-logging"
          - name:  FLUENT_ELASTICSEARCH_PORT
            value: "9200"
          - name:  FLUENT_ELASTICSEARCH_SSL_VERIFY
            value: "true"
          - name:  FLUENT_ELASTICSEARCH_SSL_VERSION
            value: "TLSv1_2"

注意docker的目录:

      volumes:
      - name: varlog
        hostPath:
          path: /var/log
      - name: varlibdockercontainers
        hostPath:
          path: /data/docker/containers ### 注意docker的目录

使用命令:

kubectl apply -f fluentd-daemonset-elasticsearch-rbac.yaml