-
设置集群日志管理
- 选择日志存储后端: 根据需求选择合适的日志存储后端,如 ELK(Elasticsearch, Logstash, Kibana)、Fluentd 或 Loki。
- 安装日志收集工具:
- 以 Fluentd 为例,部署 Fluentd DaemonSet 到集群中,配置 fluent.conf 文件以收集 Pod 日志。
- 示例配置:
apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd namespace: kube-system spec: containers: - name: fluentd image: fluent/fluentd-kubernetes:latest env: - name: FLUENT_UID value: "0" # 其他配置
- 配置日志存储和展示:
- 将日志发送到选定的后端,如使用 Elasticsearch 的 Fluentd 配置:
<match **> @type elasticsearch host elasticsearch.default.svc.cluster.local port 9200 index_name kube_logs </match>
- 将日志发送到选定的后端,如使用 Elasticsearch 的 Fluentd 配置:
-
配置审计功能
-
审计策略定义: 创建审计策略文件 (audit-policy.yaml)
-
样例策略设置:
apiVersion: audit.k8s.io/v1 kind: Policy rules: - level: Metadata verbs: - create - update - level: Request resources: - resources: pods
-
- 启动 API 服务器审计配置: 在 Kubernetes APIServer 启动时添加审计选项
- 修改 API Server 启动参数,例如:
--audit-log-path=/var/log/audit.log --audit-policy-path=/etc/kubernetes/audit-policy.yaml --audit-log-maxage=30 --audit-log-maxsize=100 --audit-log-maxbackup=10
- 修改 API Server 启动参数,例如:
-
-
查看和分析日志与审计结果
- 使用 Kibana 查看日志:
- 配置 Kibana 连接到 Elasticsearch,创建索引模式查看 Pod 日志。
- 审计日志分析:
- 通过命令查看审计日志文件:
cat /var/log/audit.log
,或配置日志管理工具进行分析。
- 通过命令查看审计日志文件:
- 使用 Kibana 查看日志:
综上所述,以上步骤会帮助您在 Kubernetes 集群中有效地配置日志管理与审计功能。