在Debian上部署K8S的日志管理可参考以下方案,核心工具为EFK Stack(Fluentd+ Elasticsearch+Kibana),适合大多数场景:
通过DaemonSet在每个节点部署Fluentd,收集容器标准输出、宿主机日志等:
fluentd-kubernetes-daemonset),挂载节点/var/log和/var/lib/docker/containers目录。kubectl apply -f https://raw.githubusercontent.com/fluent/fluentd-kubernetes-daemonset/master/fluentd-daemonset-elasticsearch.yaml
# 示例:Elasticsearch Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
spec:
replicas: 1
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
ports:
- containerPort: 9200
kubectl apply -f https://raw.githubusercontent.com/elastic/kibana/master/deploy/kubernetes/kibana.yaml
logrotate,避免日志占满磁盘。| 工具 | 适用场景 | 资源占用 | 复杂度 |
|---|---|---|---|
| EFK Stack | 中大型集群,需复杂分析 | 中高 | 中高 |
| Loki+Promtail | 轻量级,快速部署 | 低 | 低 |
以上方案参考自,可根据实际需求选择工具组合。