前序:
Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch、Fluentd 和 Kibana(EFK)技术栈
Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。
Elasticsearch 通常与 Kibana 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。
Fluentd是一个流行的开源数据收集器, 将在 Kubernetes 集群节点上安装 Fluentd,通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,在该集群中对其进行索引和存储。
资源清单:
kibana.yaml
fluentd_service.yaml
fluentd_rbac.yaml
fluentd_daemonset.yaml
部署记录:
- elasticsearch
$ kubectl create ns logging
$ kubectl create -f elasticsearch.yaml -n logging
deployment.extensions/elasticsearch created
service/elasticsearch created
$ kubectl get pods -n logging
$ kubectl get service -n logging
2.kibana
$ kubectl create -f kibana.yaml -n logging
$ kubectl get pods -n logging
$ kubectl get service -n logging
3.fluentd
$ kubectl create -f fluentd_service.yaml
$ kubectl create -f fluentd_rbac.yaml
$ kubectl create -f fluentd_daemonset.yaml
部署完毕后可以在rancher上看到一下服务
kibana日志系统![watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JmO56We5aSn5bid,size_20,color_FFFFFF,t_70,g_se,x_16](https://i-blog.csdnimg.cn/blog_migrate/221133deb9c2d81eb2e39444fd0ce4d7.png)
kubernetes.namespace_name指定命名空间,kubernetes.container_name指定服务名称