4.5. 使用 Operator 为 RHACS 配置安全 Cluster 服务选项
当使用 Operator 安装安全的 Cluster 服务时,您可以配置可选设置。
4.5.1. 安全集群服务配置选项
当您创建 Central 实例时,Operator 列出了 Central
自定义资源的以下配置选项。
4.5.1.1. 所需的配置设置
参数 | Description |
---|---|
|
用于连接的 Central 实例的端点,包括端口号。如果使用一个支持非 gRPC 的负载均衡器,请使用带有 |
| 此集群的唯一名称,显示在 RHACS 门户中。使用此参数设置名称后,您无法再次更改它。要更改名称,您必须删除并重新创建对象。 |
4.5.1.2. 准入控制器设置
参数 | Description |
---|---|
|
指定 |
|
指定 |
|
指定 |
| 如果您希望此组件只在特定节点上运行,您可以使用此参数配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数指定污点容限键、值以及 Admission Control 的效果。此参数主要用于基础架构节点。 |
| 使用此参数将主机和 IP 地址注入 pod 的主机文件中。 |
| 使用此参数覆盖准入控制器的默认资源限值。 |
| 使用此参数覆盖准入控制器的默认资源请求。 |
| 使用以下值之一配置绕过准入控制器强制:
默认值为 |
| 使用以下值之一指定准入控制器是否必须连接到镜像扫描程序:
默认值为 |
|
在将其标记为失败前,使用此参数指定 RHACS 必须等待准入审核的最大秒数。如果准入 Webhook 在超时时间结束前没有收到请求的信息,它会失败,但处于打开状态时,它仍然允许操作成功。例如,准入控制器允许创建部署,即使扫描超时,RHACS 无法确定部署是否违反了策略。从版本 4.5 开始,红帽将 RHACS 准入控制器 webhook 的默认超时设置从 20 秒减少到 10 秒,从而导致 |
4.5.1.3. 扫描程序配置
使用 Scanner 配置设置修改集成的 OpenShift 镜像 registry 的本地集群扫描程序。
参数 | Description |
---|---|
|
将节点选择器标签指定为 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner 指定污点容限键、值和效果。 |
| 使用此参数将主机和 IP 地址注入 pod 的主机文件中。 |
| Scanner 容器的内存请求。使用此参数覆盖默认值。 |
| Scanner 容器的 CPU 请求。使用此参数覆盖默认值。 |
| Scanner 容器的内存限值。使用此参数覆盖默认值。 |
| Scanner 容器的 CPU 限制。使用此参数覆盖默认值。 |
|
如果将此选项设置为 |
|
自动扩展的最小副本数。默认值为 |
|
自动扩展的最大副本数。默认值为 |
|
默认副本数。默认值为 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner 指定污点容限键、值和效果。 |
|
将节点选择器标签指定为 |
| 使用此参数将主机和 IP 地址注入 pod 的主机文件中。 |
| Scanner DB 容器的内存请求。使用此参数覆盖默认值。 |
| Scanner DB 容器的 CPU 请求。使用此参数覆盖默认值。 |
| Scanner DB 容器的内存限值。使用此参数覆盖默认值。 |
| Scanner DB 容器的 CPU 限制。使用此参数覆盖默认值。 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner DB 指定污点容限键、值和效果。 |
|
如果将此选项设置为 |
| 如果您希望此组件只在特定节点上运行,您可以使用此参数来配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner V4 DB 指定污点容限键、值和效果。此参数主要用于基础架构节点。 |
| 使用此参数覆盖 Scanner V4 DB 的默认资源限值。 |
| 使用此参数覆盖 Scanner V4 DB 的默认资源请求。 |
|
为 Scanner V4 管理持久性数据的 PVC 名称。如果没有具有指定名称的 PVC,则会创建它。如果没有设置,则默认值为 |
| 如果您希望此组件只在特定节点上运行,您可以使用此参数来配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner V4 Indexer 指定污点容限键、值和效果。此参数主要用于基础架构节点。 |
| 使用此参数覆盖 Scanner V4 Indexer 的默认资源限值。 |
| 使用此参数覆盖 Scanner V4 Indexer 的默认资源请求。 |
| 启用后,Scanner V4 Indexer 副本的数量会根据指定的限值来动态管理。 |
| 指定 Scanner V4 Indexer 自动扩展配置中使用的最大副本。 |
| 指定 Scanner V4 Indexer 自动扩展配置中使用的最小副本。 |
| 当 Scanner V4 Indexer 禁用自动扩展时,副本数始终配置为与这个值匹配。 |
|
为 Scanner V4 配置监控端点。监控端点允许其他服务从与 Prometheus 兼容的格式提供的 Scanner V4 收集指标。使用 |
| 启用 Scanner V4。有效值为:
*
*
* |
4.5.1.4. 镜像配置
在使用自定义 registry 时使用镜像配置设置。
参数 | Description |
---|---|
| 拉取镜像时考虑的其他镜像 pull secret。 |
4.5.1.5. 针对每个节点的设置
针对每个节点的设置为在集群中的节点上运行的组件定义了一组配置设置,用于保护集群的安全。这些组件是 Collector 和 Compliance。
参数 | Description |
---|---|
|
系统级数据收集的方法。默认值为 |
|
用于 Collector 的镜像类型。您可以将它指定为 |
| 使用此参数覆盖 Collector 的默认资源限值。 |
| 使用此参数覆盖 Collector 的默认资源请求。 |
| 使用此参数覆盖 Compliance 的默认资源请求。 |
| 使用此参数覆盖 Compliance 的默认资源限值。 |
|
为确保集群活动的全面监控,Red Hat Advanced Cluster Security for Kubernetes 会在集群中的每个节点上运行服务,包括污点节点。如果您不希望此行为,将此参数设置为 |
4.5.1.6. Sensor 配置
此配置定义了 Sensor 组件的设置,该组件的设置在集群的一个节点上运行。
参数 | Description |
---|---|
| 如果您希望 Sensor 仅在特定节点上运行,您可以配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数指定污点容限键、值和 Sensor 的效果。此参数主要用于基础架构节点。 |
| 使用此参数将主机和 IP 地址注入 pod 的主机文件中。 |
| 使用这个参数覆盖 Sensor 的默认资源限值。 |
| 使用这个参数覆盖 Sensor 的默认资源请求。 |
4.5.1.7. 常规设置和各种设置
参数 | 描述 |
---|---|
| 允许为 Central 部署指定自定义注解。 |
| 用于配置环境变量的高级设置。 |
| 配置 Red Hat Advanced Cluster Security for Kubernetes 是否应该以在线或离线模式运行。在离线模式下,禁用对漏洞定义和内核模块的自动更新。 |
|
把它设置为 |
|
为了在网络级别提供安全性,RHACS 在安装了安全集群资源的命名空间中创建默认 警告 禁用创建默认网络策略可能会破坏 RHACS 组件之间的通信。如果禁用创建默认策略,则必须创建自己的网络策略来允许此通信。 |
| 请参阅"使用带有 overlays 的 Operator 自定义安装"。 |
| 安全集群的其他可信 CA 证书。这些证书在使用私有证书颁发机构与服务集成时使用。 |
4.5.2. 使用带有 overlay 的 Operator 自定义安装
了解如何使用带有 overlay 的 Operator 方法定制 RHACS 安装。
4.5.2.1. overlays
当 Central
或 SecuredCluster
自定义资源不公开某些低级别配置选项时,您可以使用 .spec.overlays
字段进行调整。使用此字段修改由这些自定义资源生成的 Kubernetes 资源。
.spec.overlays
字段包含一系列补丁,按列出的顺序应用。这些补丁由 Operator 在部署到集群前由 Kubernetes 资源进行处理。
Central
和 SecuredCluster
中的 .spec.overlays
字段允许用户以任意方式修改低级别 Kubernetes 资源。只有在通过 SecuredCluster
或 Central
自定义资源不可用时,才使用此功能。
对 .spec.overlays
功能的支持主要受限制,因为它授予对 Kubernetes 资源进行内部化和高度特定修改的能力,这可能会显著地从一个实施到另一个实现。这种定制的定制增加了超越标准使用方案的复杂性,从而难以提供广泛的支持。每个修改都是唯一的,在产品的不同版本和配置中都无法预测地与 Kubernetes 系统交互。这种可变性意味着故障排除和保证这些自定义的稳定性需要一定程度的专业知识和理解,特定于每个个人设置。因此,虽然此功能可以支持定制 Kubernetes 资源来满足精确的需求,但必须假定为确保配置的兼容性和稳定性,特别是在升级或更改底层产品的过程中。
以下示例显示了覆盖的结构:
overlays: - apiVersion: v1 1 kind: ConfigMap 2 name: my-configmap 3 patches: - path: .data 4 value: | 5 key1: data2 key2: data2
4.5.2.1.1. 添加覆盖
对于自定义,您可以在 Central
或 SecuredCluster
自定义资源中添加覆盖。使用 OpenShift CLI (oc
)或 OpenShift Container Platform Web 控制台进行修改。
如果覆盖没有按预期工作,请检查 RHACS Operator 日志是否有语法错误或问题记录。
4.5.2.2. 覆盖示例
4.5.2.2.1. 为 Central ServiceAccount 指定 EKS pod 角色 ARN
为 中央
ServiceAccount 添加 Amazon Elastic Kubernetes Service (EKS) pod 角色 Amazon Resource Name (ARN)注解,如下例所示:
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ServiceAccount name: central patches: - path: metadata.annotations.eks\.amazonaws\.com/role-arn value: "\"arn:aws:iam:1234:role\""
4.5.2.2.2. 将环境变量注入到中央部署中
将环境变量注入 中央
部署中,如下例所示:
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[name:central].env[-1] value: | name: MY_ENV_VAR value: value
4.5.2.2.3. 使用入口规则扩展网络策略
为端口 999 流量在 allow-ext-to-central
网络策略中添加入站规则,如下例所示:
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy name: allow-ext-to-central patches: - path: spec.ingress[-1] value: | ports: - port: 999 protocol: TCP
4.5.2.2.4. 修改 ConfigMap 数据
修改 central-endpoints
ConfigMap 数据,如下例所示:
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ConfigMap name: central-endpoints patches: - path: data value: | endpoints.yaml: | disableDefault: false
4.5.2.2.5. 将容器添加到 中央
部署中
在 中央
部署中添加新容器,如下例所示:
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[-1] value: | name: nginx image: nginx ports: - containerPort: 8000 name: http protocol: TCP