kube-apiserver开启审计

k8s v1.19.0

请求处理的多个阶段

阶段

含义

RequestReceived

收到请求

ResponseStarted

已发送响应头,但未发送响应正文。

ResponseComplete

完成响应正文,流程结束。

Panic

内部处理出错,未完成请求。

审核级别level

级别

含义

None

不记日志。

Metadata

记日志,包括元数据,不包括请求和响应正文。

Request

记日志,包括元数据和请求正文,不包括响应正文。

RequestResponse

记日志,包括元数据、请求正文和响应正文。

# /etc/kubernetes/pki/audit-policy.yaml
apiVersion: audit.k8s.io/v1beta1
kind: Policy
rules:
  - level: Request
    resources:
    - group: ""
  - level: RequestResponse
    resources:
    - group: ""
  - level: Metadata
    resources:
    - group: ""

kube-apiserver pod中增加如下配置

# 启动参数
--audit-policy-file=/etc/kubernetes/audit/audit-policy.yaml
--audit-log-format=json
--audit-log-path=/etc/kubernetes/audit/kube-apiserver-audit.log
--audit-log-maxage=30
--audit-log-maxbackup=3
--audit-log-maxsize=1024
# 容器挂载
- mountPath: /etc/kubernetes/audit
  name: k8s-audit
# 主机挂载
- hostPath:
   path: /etc/kubernetes/audit
   type: DirectoryOrCreate
  name: k8s-audit
--audit-policy-file:审计策略
--audit-log-format:审计日志格式
--audit-log-path:审计日志路径
--audit-log-maxage:保留审计日志的最大天数
--audit-log-maxbackup:保留审计日志的最大数量
--audit-log-maxsize:保留审计日志的最大MB

查看kube-apiserver审计日志

tail -f /etc/kubernetes/audit/kube-apiserver-audit.log

有请求收到时间和请求处理完成时间。

posted on 2023-12-30 08:59  王景迁  阅读(53)  评论(0编辑  收藏  举报

导航