17.EFK日志收集平台(未成功)

一、介绍

添加仓库incubator(孵化,不稳定的仓库):

[root@master ~]# helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/

 

EFK:Elasticsearch , Fluentd, Kibana统一日志收集和存储平台

Logstash太重量级了。

在节点收集日志的组件:Logstash,Filebeat,Fluentd,Flume等

ElasticSearch集群建议部署在K8S集群之外,因为如果部署在K8S集群上,K8S集群挂掉了,es集群也就没了。

Fluentd建议以daemonset形式托管在K8S集群之上。

Kibana可以以deployment形式托管在K8S集群之上。

ElasticSearch官方提供了专门为K8S的ElasticSearch集群部署方案,部署逻辑不同于平时的部署。(StatefulSet应用)

Master节点建议至少三个,data节点负责存储日志数据,client。(部署逻辑需要重新了解)

二、部署es集群

内存资源要求较高。

[root@master example]# kubectl create namespace efk
[root@master example]# helm fetch incubator/elasticsearch
[root@master example]# tar xf elasticsearch-1.10.2.tgz
[root@master elasticsearch]# vim values.yaml  #修改参数,为了方便,禁用master,data持久存储,生产不能这样。
[root@master elasticsearch]# helm install --name=els1 --namespace=efk -f values.yaml incubator/elasticsearch

 

由于网络问题,镜像下载不下来,所以半途而废。

三、部署fluentd

[root@master example]# helm search fluentd
[root@master example]# helm fetch incubator/fluentd
[root@master example]# tar xf fluentd-0.2.1.tgz
[root@master fluentd]# vim values.yaml  # 只需要修改使用的es集群的地址,其他的配置按照实际情况修改
[root@master fluentd]# helm install --name fluentd1 --namespace=efk -f values.yaml --incubator/fluentd

四、部署Kibana

Kibana的版本号一定要跟elasticsearch版本匹配。

[root@master example]# helm search kibana
[root@master example]# helm fetch stable/kibana
[root@master example]# tar xf kibana-0.2.2.tgz
[root@master kibana]# vim values.yaml  # 修改对应的配置,包括es地址等
[root@master kibana]# helm install --name=kibana --namespace=efk -f values.yaml  stable/kibana

部署完成后,在kibana的web页面添加索引,就可以查看日志,然后按需配置图表等。

Tips:

经常宿主机被挂起后,重新恢复节点跟pod之间通信就不通了,会出现指标采集,服务无法访问的问题,主要是宿主机的路由表被清空了,具体原因未知,已知解决方法为重新部署网络插件。

原文地址:https://www.cnblogs.com/cmxu/p/12259671.html