4.5. 可选 - 使用 Operator 为 RHACS 配置安全集群配置选项
本主题提供有关您可以使用 Operator 进行的可选配置设置的信息。
4.5.1. 安全的集群配置选项
当您创建 Central 实例时,Operator 列出了 Central
自定义资源的以下配置选项。
4.5.1.1. 所需的配置设置
参数 | Description |
---|---|
|
用于连接的 Central 实例的端点,包括端口号。如果使用一个支持非 gRPC 的负载均衡器,请使用带有 |
| 此集群的唯一名称,显示在 RHACS 门户中。使用此参数设置名称后,您将无法再次更改它。要更改名称,您必须删除并重新创建对象。 |
4.5.1.2. 准入控制器设置
参数 | Description |
---|---|
|
指定 |
|
指定 |
|
指定 |
| 如果您希望此组件只在特定节点上运行,您可以使用此参数配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数指定污点容限键、值以及 Admission Control 的效果。此参数主要用于基础架构节点。 |
| 使用此参数覆盖准入控制器的默认资源限值。 |
| 使用此参数覆盖准入控制器的默认资源请求。 |
| 使用以下值之一配置绕过准入控制器强制:
默认值为 |
| 使用以下值之一指定准入控制器是否必须连接到镜像扫描程序:
默认值为 |
| 在将 Red Hat Advanced Cluster Security for Kubernetes 标记为失败前,使用这个参数指定 Red Hat Advanced Cluster Security for Kubernetes 的最大秒数。 |
4.5.1.3. 扫描程序配置
使用 Scanner 配置设置修改 OpenShift Container Registry(OCR)的本地集群扫描程序。
参数 | Description |
---|---|
|
将节点选择器标签指定为 |
| Scanner 容器的内存请求。使用此参数覆盖默认值。 |
| Scanner 容器的 CPU 请求。使用此参数覆盖默认值。 |
| Scanner 容器的内存限值。使用此参数覆盖默认值。 |
| Scanner 容器的 CPU 限制。使用此参数覆盖默认值。 |
|
如果将此选项设置为 |
|
自动扩展的最小副本数。默认值为 |
|
自动扩展的最大副本数。默认值为 |
|
默认副本数。默认值为 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner 指定污点容限键、值和效果。 |
|
将节点选择器标签指定为 |
| Scanner DB 容器的内存请求。使用此参数覆盖默认值。 |
| Scanner DB 容器的 CPU 请求。使用此参数覆盖默认值。 |
| Scanner DB 容器的内存限值。使用此参数覆盖默认值。 |
| Scanner DB 容器的 CPU 限制。使用此参数覆盖默认值。 |
| 如果节点选择器选择污点节点,请使用此参数为 Scanner DB 指定污点容限键、值和效果。 |
|
如果将此选项设置为 |
4.5.1.4. 镜像配置
在使用自定义 registry 时使用镜像配置设置。
参数 | Description |
---|---|
| 拉取镜像时考虑的其他镜像 pull secret。 |
4.5.1.5. 针对每个节点的设置
针对每个节点的设置为在集群中的节点上运行的组件定义了一组配置设置,用于保护集群的安全。这些组件是 Collector 和 Compliance。
参数 | Description |
---|---|
|
系统级数据收集的方法。默认值为 |
|
用于 Collector 的镜像类型。您可以将它指定为 |
| 使用此参数覆盖 Collector 的默认资源限值。 |
| 使用此参数覆盖 Collector 的默认资源请求。 |
| 使用此参数覆盖 Compliance 的默认资源请求。 |
| 使用此参数覆盖 Compliance 的默认资源限值。 |
4.5.1.6. 污点容限设置
参数 | Description |
---|---|
|
为确保对集群进行全面监控,Red Hat Advanced Cluster Security for Kubernetes 在每个节点上运行服务,包括污点节点。如果您不希望此行为,将此参数设置为 |
4.5.1.7. Sensor 配置
此配置定义了 Sensor 组件的设置,该组件的设置在集群的一个节点上运行。
参数 | Description |
---|---|
| 如果您希望 Sensor 仅在特定节点上运行,您可以配置节点选择器。 |
| 如果节点选择器选择污点节点,请使用此参数指定污点容限键、值和 Sensor 的效果。此参数主要用于基础架构节点。 |
| 使用这个参数覆盖 Sensor 的默认资源限值。 |
| 使用这个参数覆盖 Sensor 的默认资源请求。 |
4.5.1.8. 常规设置和各种设置
参数 | Description |
---|---|
| 安全集群的其他可信 CA 证书。这些证书在使用私有证书颁发机构与服务集成时使用。 |
|
把它设置为 |
| 允许为 Central 部署指定自定义注解。 |
| 用于配置环境变量的高级设置。 |
| 配置 Red Hat Advanced Cluster Security for Kubernetes 是否应该以在线或离线模式运行。在离线模式下,禁用对漏洞定义和内核模块的自动更新。 |
| 请参阅使用带有覆盖的 Operator 自定义安装 |
4.5.2. 使用带有覆盖的 Operator 自定义安装
了解如何通过 overlays 使用 Operator 方法定制 RHACS 安装。
4.5.2.1. overlays
当 Central
或 SecuredCluster
自定义资源没有以参数的形式公开某些低级别配置选项时,您可以使用 .spec.overlays
字段进行调整。使用此字段来修改这些自定义资源生成的 Kubernetes 资源。
.spec.overlays
字段由一系列补丁组成,按其列出的顺序应用。这些补丁由 Kubernetes 资源上的 Operator 在部署到集群前由 Kubernetes 资源处理。
Central
和 SecuredCluster
中的 .spec.overlays
字段允许用户以任意方式修改低级别 Kubernetes 资源。只有在所需的自定义无法通过 SecuredCluster
或 Central
自定义资源提供时,才使用此功能。
对 .spec.overlays
功能的支持主要是有限的,因为它授予了对 Kubernetes 资源进行 intricate 和高度具体的修改的功能,这可能因一个实施而异。这种自定义级别引入了一个超过标准使用场景的复杂性,这使其难以提供广泛的支持。每个修改都是唯一的,可能在产品的不同版本和配置中以无法预计的方式与 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. 使用入口规则扩展网络策略
在 allow-ext-to-central
网络策略中添加一个入口规则,用于端口 999 流量,如下例所示:
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