为kubernetes集群中部署服务提供多日志收集服务,快速接入多种部署方案的日志系统

需求场景

  •  当pod中有多个容器时,需要对pod中的容器进行日志收集

  •  研发人员需要快速对服务进行日志收集后在kibana中集中查看

功能描述

  • 利用kubernetes pod注入对运行的服务进行注入容器,注入的容器和原容器在pod annotations配置的日志文件所在目录进行卷挂载,注解中配置的日志文件进行卷挂载,例如:
    1
    2
    3
    4
      template:
        metadata:
          annotations:
            logfile.huisebug.org/log1: /var/log/nginx/*.log
  • 提供六种日志收集部署方案
  1. filebeat+elasticsearch+kibana

  2. filebeat+elasticsearch-cluster+kibana

  3. filebeat+logstash+elasticsearch+kibana

  4. filebeat+logstash+elasticsearch-cluster+kibana

  5. filebeat+kafka+logstash+elasticsearch+kibana

  6. filebeat+kafka-cluster+logstash+elasticsearch-cluster+kibana

版本信息:
filebeat:8.5.0
logstash:8.5.0
kafka:3.3
zookeeper:3.8
elasticsearch:8.5.0
kibana:8.5.0

注意:elasticsearch集群这里采用的https集群

  • git项目首页提供的num的6个yaml文件对应了六种方案

部署命令(按顺序执行)

1
2
3
kubectl apply -f cert-manager.yam
kubectl apply -f deploy.yaml
kubectl apply -f num数字.yaml

项目地址

https://github.com/huisebug/logfile-operator.git