简单介绍
EFK 组合插件是k8s项目的一个日志解决方案,它包括三个组件:Elasticsearch, Fluentd, Kibana。相对于ELK这样的架构,k8s官方推行了EFK,可能Fluentd相对于Logstash更加轻量级吧。
Elasticsearch 是日志存储和日志搜索引擎,Fluentd 负责把k8s集群的日志发送给 Elasticsearch, Kibana 则是可视化界面查看和检索存储在 Elasticsearch 的数据。
GitHub官网:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
操作步骤
获取yaml文件
Github官网下载:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
fluentd-es-configmap.yamlfluentd-es-ds.yamles-statefulset.yamlkibana-deployment.yamlkibana-service.yaml
[root@k8s-master ~]# mkdir efk
[root@k8s-master ~]# cp kubernetes/cluster/addons/fluentd-elasticsearch/*.yaml efk/
准备镜像(在所有节点上)
注:因为被墙的缘故,加上镜像文件比较大,启动会费时,可以提前单独下载好所需镜像
参考:https://www.docker.elastic.co/
发布yaml文件到k8s中
[root@k8s-master efk]# cd efk
[root@k8s-master efk]# kubectl apply -f .
查看各pod状态
[root@k8s-master efk]# kubectl get po -n kube-system -o wide
查看kibana
[root@k8s-master efk]# kubectl logs -n kube-system kibana-logging-f8d99b66f-kc8h9 -f
查看kibana地址
[root@k8s-master ~]# kubectl cluster-info | grep kibana
Kibana is running at https://192.168.0.8:6443/api/v1/namespaces/kube-system/services/kibana-logging/proxy