明党参

首页 » 常识 » 常识 » 基于EFK实现对k8s集群日志的采集
TUhjnbcbe - 2021/8/29 22:31:00

1.概述和组件说明

对于Kubernetes的日志采收集,目前官方现在比较推荐的日志收集解决方案是Elasticsearch、Fluentd和Kibana(EFK)技术栈。

Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。

Fluentd是一个流行的开源数据收集器,我们将在Kubernetes集群节点上安装Fluentd,通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到Elasticsearch集群,在该集群中对其进行索引和存储。

Kibana是一个功能强大的数据可视化Dashboard,Kibana允许你通过web界面来浏览Elasticsearch日志数据。

2.收集流程

Kubernetes集群的pod日志需要收集分析,这个大家都懂,pod的日志存放在/var/log/containers/这个目录

首先把pod(/var/log/containers/)日志目录挂载到fluentd;

其次fluentd负责把数据推送至eastlastsearch(集群);

最后kibana对eastlastsearch日志进行查看

3.环境说明

iphostname系统版本内核版本集群版本节点属性.16.99.k8s-m1CentOS7.83.10.0-.19.11.18.0master.16.99.k8s-m2CentOS7.83.10.0-.19.11.18.0master.16.99.k8s-m3CentOS7.83.10.0-.19.11.18.0master.16.18.k8s-n1CentOS7.83.10.0-.19.11.18.0node.16.18.k8s-n2CentOS7.83.10.0-.19.11.18.0node.16.18.k8s-n3CentOS7.83.10.0-.19.11.18.0node

4.EFK环境部署

4.1创建专有的命名空间

catEOFkube-logging.yamlkind:NamespaceapiVersion:v1metadata:name:kube-loggingEOF

kubectlcreate-fkube-logging.yaml

4.2创建es集群

4.2.1创建pvc

由于需要对es集群的数据做持久化,所以需要提前创建pvc,本篇章的持久化时基于NFS文件系统提供,通过StorageClass来实现

NFS服务安装部署参考:

1
查看完整版本: 基于EFK实现对k8s集群日志的采集