scofield 菜鸟运维杂谈
EFK,全称Elasticsearch Fluentd Kibana ,是kubernetes中比较常用的日志收集方案,也是官方比较推荐的方案。
通过EFK,可以把集群的所有日志收集到Elasticsearch中,然后可以对日志做分析。一般用于故障排查,数据分析等。。。
数据流示意图
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CZ3AzMyADNlNWZ2ImZ3QTO1YDNwMTOkNmZiFDMlNWYy8CXyEzLcNDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
小技巧,如果只希望下载github项目的某一个目录,可以使用svn,这里就只下载fluentd-elasticsearch目录,
这里因为是学习,一步步安装,感兴趣的可以看官方项目
存储服务是基础,需要先部署,其他两个服务运行的时候需要连接es。
1、编写efk-es-statefulset.yaml
2、执行部署命令
这里需要注意,如果长时间下载不下来镜像,可以自行先将镜像下载,要不然可能会一直不成功
本文把服务都部署到命名空间:efk
3、验证es是否正常运行
以上, elasticsearch就部署好了,接下来部署kibana
1、编写efk-kibana.yaml
3、验证kibana
服务以及通过NodePort暴露,通过IP+32352,可以访问到kibana web界面,如图所示
下一步,我们来部署日志收集客户端Fluentd
1、使用configmap创建fluentd配置文件
配置比较长,可以查看链接,这里就不贴出来了
https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml
2、执行部署
3、创建fluentd-es-ds.yaml
4、执行部署
5、查看部署结果
从输出信息可以看到,整套日志收集系统已经全部正常运行,现在就可以使用kibana查看收集到的日志了
至此日志收集系统搭建完毕,EFK更多用途后面会陆续介绍,也可以自行前往官网查看。
注:文中图片来源于网络,如有侵权,请联系我及时删除。