k8s 搭建efk
时间: 2025-05-14 15:25:51 浏览: 39
### Kubernetes 上搭建 EFK 日志收集系统
EFK 是一种流行的日志管理解决方案,由 Elasticsearch、Fluentd 和 Kibana 组成。它能够高效地收集、存储和可视化 Kubernetes 集群中的日志数据。
#### 1. **Elasticsearch 的安装**
Elasticsearch 负责存储和索引日志数据。可以通过 Helm Chart 来简化其部署过程。
```bash
helm repo add elastic https://helm.elastic.co
helm install elasticsearch elastic/elasticsearch --set replicas=3
```
上述命令会创建一个具有三个副本的 Elasticsearch 实例[^4]。
#### 2. **Fluentd 的配置与部署**
Fluentd 是负责从容器中提取日志并将其发送到 Elasticsearch 的工具。通常通过 DaemonSet 运行 Fluentd Pod,以便每个节点都有一个实例运行。
以下是 Fluentd 的基本配置文件示例:
```yaml
<source>
@type tail
path /var/log/containers/*.log
pos_file /var/log/fluentd-containers.log.pos
tag kubernetes.*
format json
read_from_head true
</source>
<match kubernetes.**>
@type copy
<store>
@type elasticsearch
host elasticsearch.default.svc.cluster.local
port 9200
logstash_format true
</store>
</match>
```
此配置允许 Fluentd 尾随 `/var/log/containers` 中的日志文件,并将它们转发至 Elasticsearch[^1]。
#### 3. **Kibana 的安装**
Kibana 提供了一个友好的界面用于查询和分析 Elasticsearch 数据库中的日志。
同样可以使用 Helm Chart 安装 Kibana:
```bash
helm install kibana elastic/kibana
```
完成后,可通过浏览器访问 Kibana 并连接到已有的 Elasticsearch 索引模式 `logstash-*`[^3]。
#### 4. **验证整个流程**
确保所有组件正常工作后,在任意应用程序容器中生成一些测试日志。这些日志应被 Fluentd 收集并通过 Elasticsearch 存储最终显示于 Kibana 图形界面上。
---
###
阅读全文
相关推荐



















