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
对于 Kubernetes:
$ kubectl delete ValidatingWebhookConfiguration/stackrox
使准入控制器更可靠
红帽建议在 control plane 上调度准入控制服务,而不是在 worker 节点上调度。部署 YAML 文件包含在 control plane 上运行的软首选项,但它不会被强制执行。
默认情况下,准入控制服务运行 3 个副本。要提高可靠性,您可以运行以下命令来增加副本:
$ oc -n stackrox scale deploy/admission-control --replicas=<number_of_replicas> 1
- 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
。