kubernetes-开启审计日志

前面文章中通过kubeadm部署完kubernetes,现在想对apiserver开启审计日志
在这里插入图片描述

大致步骤:

  • 创建审计策略文件(放在 /etc/kubernetes/audit-policy.yaml
  • 修改 API Server 的 static pod 配置文件(/etc/kubernetes/manifests/kube-apiserver.yaml
  • kubelet 会自动重启 API Server(因为 static pod)
创建审计策略文件
#vim /etc/kubernetes/audit-policy.yaml
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
  # 记录所有关键的变更操作
  - level: RequestResponse
    verbs: ["create", "update", "patch", "delete"]
    resources:
      - group: ""
        resources: ["pods", "services", "endpoints", "configmaps", "secrets"]
      - group: "apps"
        resources: ["deployments", "statefulsets", "daemonsets", "replicasets"]
      - group: "batch"
        resources: ["jobs", "cronjobs"]

修改apiserver的manifest
#vim /etc/kubernetes/manifests/kube-apiserver.yaml

在kube-apiserver command启动添加以下参数:

    - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
    - --audit-log-path=/var/log/kubernetes/audit.log
    - --audit-log-maxage=30
    - --audit-log-maxbackup=10
    - --audit-log-maxsize=100

volumes: 下添加:

  - name: audit-policy
    hostPath:
      path: /etc/kubernetes/audit-policy.yaml
      type: File

  - name: audit-log
    hostPath:
      path: /var/log/kubernetes
      type: DirectoryOrCreate

volumeMounts: 下添加:

  - mountPath: /etc/kubernetes/audit-policy.yaml
    name: audit-policy
    readOnly: true

  - mountPath: /var/log/kubernetes
    name: audit-log

等待apiserver重启

因为这是 static pod,保存文件后 kubelet 会自动触发 API Server 重建。

#ps aux|grep apiserver|grep audit

更多推荐