首页 > 解决方案 > 如何更改 OpenShift 上的 kube-apiserver audit-policy.yaml?

问题描述

我目前正在尝试更改 openshift-kube-apiserver pod 的审计策略,以输出更多默认情况下未设置的信息,主要是获取所有传入请求的 requestBody。kube-apiserver 中有一个选项可以在此处更改审计策略:https ://kubernetes.io/docs/tasks/debug-application-cluster/audit/ 。但是,我似乎在 OpenShift 上找不到该选项。我怀疑它可能在 openshift-kube-apiserver-operator 中,但已经走到了死胡同。有没有其他人有这个问题的经验并且可以提供一些指导?先感谢您。

标签: kubernetesopenshift

解决方案


不幸的是,目前 OpenShift v4 不允许您自定义审计策略。OpenShift v3 可以自定义它。但或者,从 OCPv4.6 开始,您可以指定一些预定义的策略而不是您的自定义。有关更多详细信息,请参阅配置节点审计日志策略

OpenShift Container Platform 提供以下预定义的审计策略配置文件:

  • Default 仅记录读取和写入请求的元数据;不记录请求正文。这是默认策略。

  • WriteRequestBodies 除了记录所有请求的元数据之外,还会记录对 API 服务器的每个写入请求(创建、更新、修补)的请求正文。

  • AllRequestBodies 除了记录所有请求的元数据之外,还记录对 API 服务器的每个读取和写入请求(获取、列出、创建、更新、修补)的请求正文。

您可以按如下方式更改审计策略,

$ oc edit apiserver cluster
apiVersion: config.openshift.io/v1
kind: APIServer
metadata:
...
spec:
  audit:
    profile: WriteRequestBodies

完成上述更改后,所有 kube-apiserver pod 将通过滚动更新重启生效。


推荐阅读