使用 kubeadm 时如何在 kubeapi-server 上设置审核相关标志?

Chr*_*ski 2 kubernetes kubelet kube-apiserver

我正在尝试启用“审核”。https://kubernetes.io/docs/tasks/debug-application-cluster/audit/提到:

您可以使用 --audit-policy-file 标志将带有策略的文件传递给 kube-apiserver。如果省略该标志,则不会记录任何事件。

我使用 kubeadm 来配置集群(总共在 3 个虚拟机中运行)。

但是使用 kubeadm 时这个设置在哪里?我没有看到它在哪里与 kube-apiserver 交互。

Rob*_*een 5

对于最新版本的 Kubernetes,请将其添加到以下kind: ClusterConfiguration部分:

    apiServer:
      extraArgs:
        audit-log-path: /tmp/k8s-audit.log
        audit-policy-file: /etc/kubernetes/audit.yaml
        audit-log-maxage: "1"
        audit-log-maxsize: "100"
        audit-log-maxbackup: "1"
      extraVolumes:
        - name: audit
          hostPath: /host/audit.yaml
          mountPath: /etc/kubernetes/audit.yaml
          readOnly: true
          pathType: File
Run Code Online (Sandbox Code Playgroud)

/host/audit.yaml记录所有请求和响应主体的示例文件:

apiVersion: audit.k8s.io/v1
kind: Policy
omitStages:
  - "ResponseStarted"
rules:
  - level: RequestResponse
Run Code Online (Sandbox Code Playgroud)