kubernetes - 如何更改 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 中,但已经走到了死胡同。有没有其他人有这个问题的经验并且可以提供一些指导?先感谢您。
解决方案
不幸的是,目前 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 将通过滚动更新重启生效。
推荐阅读
- javascript - URLSearchParams 中的等价数组格式
- typescript - 如何使用 lodash 合并对象数组
- gitlab-ci - 如何将 .gitlab-ci.yml 设置为仅在一个节点上运行任务,并且仅将 repo 更新或推送到其他节点(docker-swarm)?
- python - 如何使用 python usdz 命令行工具将形状键动画从 .glb 转换为 .usdz
- python - JSON到字符串到JSON Python
- c# - 等待 faceClient.Face.DetectWithStreamAsync 返回 null
- django - 如何在多个 django 模型上为 Sum() 应用注释?
- firebase - 如何在 Firebase 中设置规则,以便只有我的应用程序可以在我的数据库 firestore 上写入?
- git - 使用文件过滤器时,Git show 不显示所有提交
- c - Windows 10 上的 Cygwin 和 MinGW