5.5. ValidatingWebhookConfiguration YAML 文件更改
使用 Red Hat Advanced Cluster Security for Kubernetes,您可以强制使用以下安全策略:
- 对象创建
- 对象更新
- Pod 执行
- Pod 端口转发
如果 Central 或 Sensor 不可用
准入控制器需要从 Sensor 进行初始配置才能工作。Kubernetes 或 OpenShift Container Platform 会保存此配置,即使所有准入控制服务副本重新调度到其他节点上,它仍然可以访问。如果存在此初始配置,准入控制器会强制执行所有配置的部署时策略。
如果 Sensor 或 Central 稍后不可用:
- 您将无法运行镜像扫描,或者查询缓存的镜像扫描的信息。但是,准入控制器根据超时过期前收集的可用信息进行仍然可以正常工作,即使收集的信息不完整。
- 您将无法从 RHACS 门户禁用准入控制器,或修改现有策略的强制,因为更改不会传播到准入控制服务。
如果需要禁用准入控制强制功能,您可以通过运行以下命令来删除验证 Webhook 配置:
在 OpenShift Container Platform 中:
oc delete ValidatingWebhookConfiguration/stackrox
$ oc delete ValidatingWebhookConfiguration/stackrox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Kubernetes:
kubectl delete ValidatingWebhookConfiguration/stackrox
$ kubectl delete ValidatingWebhookConfiguration/stackrox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使准入控制器更可靠
红帽建议在 control plane 上调度准入控制服务,而不是在 worker 节点上调度。部署 YAML 文件包含在 control plane 上运行的软首选项,但它不会被强制使用。
默认情况下,准入控制服务运行 3 个副本。要提高可靠性,您可以运行以下命令来增加副本:
oc -n stackrox scale deploy/admission-control --replicas=<number_of_replicas>
$ oc -n stackrox scale deploy/admission-control --replicas=<number_of_replicas>
- 1
- 如果使用 Kubernetes,请输入
kubectl
而不是oc
。
使用 roxctl CLI
您可以在生成 Sensor 部署 YAML 文件时使用以下选项:
-
--admission-controller-listen-on-updates
:如果您使用这个选项,Red Hat Advanced Cluster Security for Kubernetes 会生成一个 Sensor 捆绑包,并带有ValidatingWebhookConfiguration
,来从 Kubernetes 或 OpenShift Container Platform API 服务器接收更新事件。 -
--admission-controller-enforce-on-updates
:如果您使用这个选项,Red Hat Advanced Cluster Security for Kubernetes 配置 Central,以便准入控制器还会强制实施安全策略对象更新。
这两个选项都是可选的,默认为 false
。