在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 | 輕量級,快速部署 | 低 | 低 |
以上方案參考自,可根據實際需求選擇工具組合。