3.3. 在 Red Hat OpenShift 中为 RHACS 安装 Central 服务


Central 是包含 RHACS 应用程序管理界面和服务的资源。它处理数据持久性、API 交互和 RHACS 门户访问。您可以使用同一中实例来保护多个 OpenShift Container Platform 或 Kubernetes 集群。

您可以使用以下方法之一在 OpenShift Container Platform 或 Kubernetes 集群上安装 Central:

  • 使用 Operator 安装
  • 使用 Helm chart 安装
  • 使用 roxctl CLI 安装(除非有需要使用它的特定安装需要)

3.3.1. 使用 Operator 安装 Central

使用 OpenShift Container Platform 提供的 OperatorHub 是安装 Red Hat Advanced Cluster Security for Kubernetes 的最简单方法。

前提条件

  • 您可以使用具有 Operator 安装权限的账户访问 OpenShift Container Platform 集群。
  • 您必须使用 OpenShift Container Platform 4.6 或更高版本。

流程

  1. 在 Web 控制台中进入 Operators OperatorHub 页面。
  2. 如果没有显示 Red Hat Advanced Cluster Security for Kubernetes,在 Filter by keyword 框中输入 Advanced Cluster Security 来查找 Red Hat Advanced Cluster Security for Kubernetes Operator。
  3. 选择 Red Hat Advanced Cluster Security for Kubernetes Operator 查看详情页。
  4. 阅读 Operator 信息并单击 Install
  5. Install Operator 页面中:

    • 保留安装模式的默认值 All namespaces on the cluster
    • 选择要在其中为 Installed namespace 字段安装 Operator 的特定命名空间。红帽建议在 rhacs-operator 命名空间中安装 Red Hat Advanced Cluster Security for Kubernetes Operator。
    • 更新批准选择自动或手工。

      如果选择自动更新,当有新版 Operator 可用时,Operator Lifecycle Manager(OLM)会自动升级 Operator 的运行实例。

      如果选择手动更新,则当有新版 Operator 可用时,OLM 会创建更新请求。作为集群管理员,您必须手动批准更新请求,才能将 Operator 更新至最新版本。

      重要

      如果选择手动更新,在更新安装了 Central 的集群中的 RHACS Operator 时,您必须更新所有安全集群中的 RHACS Operator。安装 Central 的安全集群和集群必须具有相同的版本,以确保最佳功能。

  6. Install

验证

  • 安装完成后,进入到 Operators Installed Operators,以验证 Red Hat Advanced Cluster Security for Kubernetes Operator 的状态为 Succeeded

下一步

  • 安装、配置和部署 Central 自定义资源。

3.3.1.2. 使用 Operator 方法安装 Central

Red Hat Advanced Cluster Security for Kubernetes 的主要组件名为 Central。您可以使用 Central 自定义资源在 OpenShift Container Platform 上安装 Central。您只需要部署 Central 一次,并使用同一 Central 安装监控多个独立集群。

重要

当您首次安装 Red Hat Advanced Cluster Security for Kubernetes 时,您必须首先安装 Central 自定义资源,因为 SecuredCluster 自定义资源安装取决于 Central 生成的证书。

前提条件

  • 您必须使用 OpenShift Container Platform 4.6 或更高版本。

流程

  1. 在 OpenShift Container Platform web 控制台中进入到 Operators Installed Operators 页面。
  2. 从安装的 Operator 列表中选择 Red Hat Advanced Cluster Security for Kubernetes Operator。
  3. 如果您在推荐的命名空间中安装了 Operator,OpenShift Container Platform 会将项目列为 rhacs-operator。选择 Project: rhacs-operator Create project

    警告
    • 如果您在不同的命名空间中安装了 Operator,则 OpenShift Container Platform 会显示该命名空间的名称,而不是 rhacs-operator
    • 您必须在自己的项目中安装 Red Hat Advanced Cluster Security for Kubernetes Central 自定义资源,而不是在 rhacs-operatoropenshift-operator 项目中安装 Red Hat Advanced Cluster Security for Kubernetes Operator。
  4. 输入新项目名称(如 stackrox),然后点 Create。红帽建议使用 stackrox 作为项目名称。
  5. Provided APIs 部分下,选择 Central。点 Create Central
  6. 输入您的 Central 自定义资源的名称并添加您要应用的任何标签。否则,接受可用选项的默认值。
  7. Create
注意

如果使用集群范围的代理,Red Hat Advanced Cluster Security for Kubernetes 会使用该代理配置连接到外部服务。

后续步骤

  1. 验证中央安装。
  2. 可选:配置中央选项。
  3. 生成包含集群 secret 的 init 捆绑包,它允许在 CentralSecuredCluster 资源之间的通信。您需要下载这个捆绑包,使用它来在您要保护的集群中生成资源,并安全地存储它。
  4. 在您要监控的每个集群中安装安全集群服务。

3.3.1.3. 使用 Operator 方法验证中央安装

安装中心后,登录到 RHACS 门户以验证中央安装是否成功。

流程

  1. 在 OpenShift Container Platform web 控制台中进入到 Operators Installed Operators 页面。
  2. 从安装的 Operator 列表中选择 Red Hat Advanced Cluster Security for Kubernetes Operator。
  3. 选择 Central 选项卡。
  4. Centrals 列表中,选择 stackrox-central-services 以查看其详细信息。
  5. 要获取 admin 用户的密码,您可以:

    • Admin Password Secret Reference 下的链接。
    • 使用 Red Hat OpenShift CLI 进入 Admin Credentials Info 下列出的命令:

      $ oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'
      Copy to Clipboard Toggle word wrap
  6. 使用 Red Hat OpenShift CLI 命令查找到 RHACS 门户的链接:

    $ oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"
    Copy to Clipboard Toggle word wrap

    另外,您可以执行以下命令,使用 Red Hat Advanced Cluster Security for Kubernetes web 控制台查找到 RHACS 门户的链接:

    1. 进入 Networking Routes
    2. 找到 central 路由,再点 Location 列下的 RHACS 门户链接。
  7. 使用用户名 admin 和密码您在上一步中检索的密码登录 RHACS 门户。在完全配置 RHACS 前(例如,您拥有 Central 资源,并至少安装并配置一个 SecuredCluster 资源),仪表板中没有可用的数据。SecuredCluster 资源可以在与 Central 资源相同的集群中安装和配置。带有 SecuredCluster 资源的集群与 Red Hat Advanced Cluster Management(RHACM)中的受管集群类似。

后续步骤

  1. 可选:配置中央设置。
  2. 生成包含集群 secret 的 init 捆绑包,它允许在 CentralSecuredCluster 资源之间的通信。您需要下载这个捆绑包,使用它来在您要保护的集群中生成资源,并安全地存储它。
  3. 在您要监控的每个集群中安装安全集群服务。

3.3.2. 使用 Helm chart 安装 Central

您可以使用 Helm chart 安装 Central,而无需自定义任何自定义,使用默认值,或使用带有额外自定义配置参数的 Helm chart。

您可以在没有自定义的情况下在集群中安装 RHACS。您必须添加 Helm Chart 仓库并安装 central-services Helm Chart,以安装 Central 和 Scanner 的集中组件。

3.3.2.1.1. 添加 Helm Chart 仓库

流程

  • 添加 RHACS chart 存储库。

    $ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
    Copy to Clipboard Toggle word wrap

Red Hat Advanced Cluster Security for Kubernetes 的 Helm 仓库包括用于安装不同组件的 Helm chart,包括:

  • 用于安装集中组件(Central 和 Scanner)的中央服务Helm Chart(central-services)。

    注意

    您只部署集中式组件一次,并可使用同一安装监控多个独立集群。

  • 安全集群服务 Helm Chart (secured-cluster-services) 用于安装针对每个集群(Sensor 和 Admission 控制器)和针对每个节点(Collector) 的组件。

    注意

    将 per-cluster 组件部署到要监控的每个集群中,并在要监控的所有节点中部署 per-node 组件。

验证

  • 运行以下命令来验证添加的 chart 存储库:

    $ helm search repo -l rhacs/
    Copy to Clipboard Toggle word wrap

使用以下说明安装 central-services Helm Chart 以部署集中组件(Central 和 Scanner)。

前提条件

流程

  • 运行以下命令安装 Central 服务并使用一个路由来公开 Central:

    $ helm install -n stackrox \
      --create-namespace stackrox-central-services rhacs/central-services \
      --set imagePullSecrets.username=<username> \
      --set imagePullSecrets.password=<password> \
      --set central.exposure.route.enabled=true
    Copy to Clipboard Toggle word wrap
  • 或者,运行以下命令安装 Central 服务并使用一个负载均衡器来公开 Central:

    $ helm install -n stackrox \
      --create-namespace stackrox-central-services rhacs/central-services \
      --set imagePullSecrets.username=<username> \
      --set imagePullSecrets.password=<password> \
      --set central.exposure.loadBalancer.enabled=true
    Copy to Clipboard Toggle word wrap
  • 或者,运行以下命令安装 Central 服务并使用一个端口转发来公开 Central:

    $ helm install -n stackrox \
      --create-namespace stackrox-central-services rhacs/central-services \
        --set imagePullSecrets.username=<username> \
      --set imagePullSecrets.password=<password>
    Copy to Clipboard Toggle word wrap
重要
  • 如果要在需要使用代理连接到外部服务的集群中安装 Red Hat Advanced Cluster Security for Kubernetes,则必须使用 proxyConfig 参数指定代理配置。例如:

    env:
      proxyConfig: |
        url: http://proxy.name:port
        username: username
        password: password
        excludes:
        - some.domain
    Copy to Clipboard Toggle word wrap
  • 如果您已在安装的命名空间中创建了一个或多个镜像 pull secret,而不是使用用户名和密码,您可以使用 --set imagePullSecrets.useExisting="<pull-secret-1;pull-secret-2>"
  • 不要使用镜像 pull secret:

    • 如果您要从 quay.io/stackrox-io 或不需要身份验证的专用网络中的 registry 拉取镜像。使用 --set imagePullSecrets.allowNone=true,而不是指定用户名和密码。
    • 如果您已经在安装的命名空间中的默认服务帐户中配置了镜像 pull secret。使用 --set imagePullSecrets.useFromDefaultServiceAccount=true,而不是指定用户名和密码。

安装命令的输出包括:

  • 自动生成的管理员密码。
  • 关于存储所有配置值的说明。
  • Helm 生成的任何警告。

3.3.2.2. 使用自定义使用 Helm chart 安装 Central

您可以使用 helm installhelm upgrade 命令的 Helm Chart 配置参数在 Red Hat OpenShift 集群上安装 RHACS。您可以使用 --set 选项或创建 YAML 配置文件来指定这些参数。

创建以下文件来配置 Helm chart 来安装 Red Hat Advanced Cluster Security for Kubernetes:

  • 公共配置文件 values-public.yaml :使用此文件保存所有非敏感配置选项。
  • 专用配置文件 values-private.yaml :使用此文件保存所有敏感配置选项。确保您安全地存储这个文件。
3.3.2.2.1. 专用配置文件

本节列出了 values-private.yaml 文件的可配置参数。这些参数没有默认值。

3.3.2.2.1.1. 镜像 pull secret

从 registry 中拉取镜像所需的凭证取决于以下因素:

  • 如果使用自定义 registry,您必须指定这些参数:

    • imagePullSecrets.username
    • imagePullSecrets.password
    • image.registry
  • 如果不使用用户名和密码登录到自定义 registry,您必须指定以下参数之一:

    • imagePullSecrets.allowNone
    • imagePullSecrets.useExisting
    • imagePullSecrets.useFromDefaultServiceAccount
Expand
参数Description

imagePullSecrets.username

用于登录到 registry 的帐户的用户名。

imagePullSecrets.password

用于登录到 registry 的帐户的密码。

imagePullSecrets.allowNone

如果您使用自定义 registry,且允许在没有凭证的情况下拉取镜像,请使用 true

imagePullSecrets.useExisting

以逗号分隔的 secret 列表作为值。例如,secret1, secret2, secretN。如果您已在目标命名空间中创建了预先存在的镜像 pull secret,则使用此选项。

imagePullSecrets.useFromDefaultServiceAccount

如果您已经在目标命名空间中配置了具有足够范围的镜像 pull secret 的默认服务帐户,请使用 true

3.3.2.2.1.2. 代理配置

如果要在需要使用代理连接到外部服务的集群中安装 Red Hat Advanced Cluster Security for Kubernetes,则必须使用 proxyConfig 参数指定代理配置。例如:

env:
  proxyConfig: |
    url: http://proxy.name:port
    username: username
    password: password
    excludes:
    - some.domain
Copy to Clipboard Toggle word wrap
Expand
参数Description

env.proxyConfig

您的代理配置。

3.3.2.2.1.3. Central

Central 的可配置参数。

对于新安装,您可以跳过以下参数:

  • central.jwtSigner.key
  • central.serviceTLS.cert
  • central.serviceTLS.key
  • central.adminPassword.value
  • central.adminPassword.htpasswd
  • 当您没有为这些参数指定值时,Helm Chart 会为它们自动生成值。
  • 如果要修改这些值,您可以使用 helm upgrade 命令并使用 --set 选项指定值。
重要

对于设置管理员密码,您只能使用 central.adminPassword.valuecentral.adminPassword.htpasswd,但不能同时使用两者。

Expand
参数Description

central.jwtSigner.key

Red Hat Advanced Cluster Security for Kubernetes 应使用的私钥签名 JSON Web 令牌(JWT)进行验证。

central.serviceTLS.cert

Central 服务应用于部署中心的内部证书。

central.serviceTLS.key

Central 服务应使用的内部证书的私钥。

central.defaultTLS.cert

Central 应该使用的用户面向用户的证书。Red Hat Advanced Cluster Security for Kubernetes 将这个证书用于 RHACS 门户。

  • 对于新安装,您必须提供一个证书,否则 Red Hat Advanced Cluster Security for Kubernetes 通过使用自签名证书安装 Central。
  • 如果要升级,Red Hat Advanced Cluster Security for Kubernetes 会使用现有证书及其密钥。

central.defaultTLS.key

Central 应使用面向用户的证书的私钥。

  • 对于新安装,您必须提供私钥,否则 Red Hat Advanced Cluster Security for Kubernetes 使用自签名证书安装中心。
  • 如果要升级,Red Hat Advanced Cluster Security for Kubernetes 会使用现有证书及其密钥。

central.adminPassword.value

用于登录到 Red Hat Advanced Cluster Security for Kubernetes 的管理员密码。

central.adminPassword.htpasswd

用于登录到 Red Hat Advanced Cluster Security for Kubernetes 的管理员密码。此密码以散列格式存储,使用 bcrypt。

注意

如果使用 central.adminPassword.htpasswd 参数,则必须使用 bcrypt 编码的密码哈希。您可以运行 htpasswd -nB admin 命令来生成密码哈希。例如,

htpasswd: |
  admin:<bcrypt-hash>
Copy to Clipboard Toggle word wrap
3.3.2.2.1.4. 扫描程序

扫描程序的可配置参数。

对于新的安装,您可以跳过以下参数,以及 Helm Chart 自动生成值。否则,如果您升级到新版本,请指定以下参数的值:

  • scanner.dbPassword.value
  • scanner.serviceTLS.cert
  • scanner.serviceTLS.key
  • scanner.dbServiceTLS.cert
  • scanner.dbServiceTLS.key
Expand
参数Description

scanner.dbPassword.value

用于通过 Scanner 数据库进行身份验证的密码。不要修改此参数,因为 Red Hat Advanced Cluster Security for Kubernetes 会自动创建和使用其值。

scanner.serviceTLS.cert

扫描程序服务用于部署扫描器的内部证书。

scanner.serviceTLS.key

Scanner 服务使用的内部证书的私钥。

scanner.dbServiceTLS.cert

Scanner-db 服务应用于部署 Scanner 数据库的内部证书。

scanner.dbServiceTLS.key

Scanner-db 服务应使用的内部证书的私钥。

3.3.2.2.2. 公共配置文件

本节列出了 values-public.yaml 文件的可配置参数。

3.3.2.2.2.1. 镜像 pull secret

镜像拉取 secret 是从 registry 中拉取镜像所需的凭证。

Expand
参数Description

imagePullSecrets.allowNone

如果您使用自定义 registry,且允许在没有凭证的情况下拉取镜像,请使用 true

imagePullSecrets.useExisting

以逗号分隔的 secret 列表作为值。例如,secret1, secret2.如果您已在目标命名空间中创建了预先存在的镜像 pull secret,则使用此选项。

imagePullSecrets.useFromDefaultServiceAccount

如果您已经在目标命名空间中配置了具有足够范围的镜像 pull secret 的默认服务帐户,请使用 true

3.3.2.2.2.2. 镜像

镜像声明了配置来设置主 registry,Helm Chart 用来为 central.imagescanner.imagescanner.dbImage 参数解析镜像。

Expand
参数Description

image.registry

镜像 registry 的地址。使用主机名,如 registry.redhat.io 或远程 registry 主机名,如 us.gcr.io/stackrox-mirror

3.3.2.2.2.3. 环境变量

Red Hat Advanced Cluster Security for Kubernetes 会自动检测到集群环境,并为 env.openshiftenv.istioenv.platform 设置值。仅设置这些值来覆盖自动集群环境检测。

Expand
参数Description

env.openshift

使用 true 在 OpenShift Container Platform 集群上安装并覆盖自动集群环境检测。

env.istio

使用 true 在启用了 Istio 的集群上安装并覆盖自动集群环境检测。

env.platform

安装 Red Hat Advanced Cluster Security for Kubernetes 的平台。将其值设为 defaultgke 以指定集群平台并覆盖自动集群环境检测。

env.offlineMode

使用 true 以离线模式使用 Red Hat Advanced Cluster Security for Kubernetes。

3.3.2.2.2.4. 其他可信证书颁发机构

Red Hat Advanced Cluster Security for Kubernetes 会自动引用要信任的系统根证书。当 Central 或 Scanner 必须联系到使用您机构中授权或全局可信合作伙伴机构发布的证书的服务时,您可以使用以下参数来指定对这些服务的信任:

Expand
参数Description

additionalCAs.<certificate_name>

指定要信任的根证书颁发机构的 PEM 编码证书。

3.3.2.2.2.5. Central

Central 的可配置参数。

  • 您必须将持久性存储选项指定为 hostPathpersistentVolumeClaim
  • 用于公开外部访问的中央部署。您必须指定一个参数,可以是 central.exposure.loadBalancercentral.exposure.nodePortcentral.exposure.route。如果没有为这些参数指定任何值,您必须手动公开 Central,或使用端口转发(port-forwarding)访问它。
Expand
参数Description

central.disableTelemetry

使用 true 来禁用在线遥测数据收集。

central.endpointsConfig

Central 的端点配置选项。

central.nodeSelector

如果节点选择器选择污点节点,请使用此参数指定 taint toleration key、value 和 effect。此参数主要用于基础架构节点。

central.tolerations

如果节点选择器选择污点节点,请使用此参数指定 taint toleration key、value 和 effect。此参数主要用于基础架构节点。

central.exposeMonitoring

指定 true,以在端口号 9090 上为 Central 公开 Prometheus 指标端点。

central.image.registry

用于覆盖 Central 镜像的全局 image.registry 参数的自定义 registry。

central.image.name

覆盖默认 Central 镜像名称(main)的自定义镜像名称。

central.image.tag

覆盖 Central 镜像默认标签的自定义镜像标签。如果在新安装过程中指定了自己的镜像标签,则您必须在运行 helm upgrade 命令升级到新版本时手动增加此标签。如果您 mirror 了自己的 registry 中的镜像,请不要修改原始镜像标签。

central.image.fullRef

Central 镜像的完整参考,包括 registry 地址、镜像名称和镜像标签。为此参数设置值会覆盖 central.image.registrycentral.image.namecentral.image.tag 参数。

central.resources.requests.memory

Central 的内存请求,以覆盖默认值。

central.resources.requests.cpu

Central 的 CPU 请求,以覆盖默认值。

central.resources.limits.memory

Central 的内存限值来覆盖默认值。

central.resources.limits.cpu

Central 的 CPU 限制,以覆盖默认值。

central.persistence.hostPath

Red Hat Advanced Cluster Security for Kubernetes 应该创建数据库卷的节点的路径。红帽不推荐使用这个选项。

central.persistence.persistentVolumeClaim.claimName

您要使用的持久性卷声明(PVC)的名称。

central.persistence.persistentVolumeClaim.createClaim

使用 true 创建一个新的持久性卷声明,或 false 来使用现有的声明。

central.persistence.persistentVolumeClaim.size

由指定声明管理的持久性卷的大小(以 GiB 为单位)。

central.exposure.loadBalancer.enabled

使用 true 来通过使用负载均衡器公开 Central。

central.exposure.loadBalancer.port

要公开 Central 的端口号。默认端口号为 443。

central.exposure.nodePort.enabled

使用 true 通过节点端口服务公开 Central。

central.exposure.nodePort.port

要公开 Central 的端口号。当您跳过此参数时,OpenShift Container Platform 会自动分配一个端口号。如果您使用节点端口公开 Red Hat Advanced Cluster Security for Kubernetes,红帽建议您不要指定端口号。

central.exposure.route.enabled

使用 true 通过路由公开 Central。此参数仅适用于 OpenShift Container Platform 集群。

3.3.2.2.2.6. 扫描程序

扫描程序的可配置参数。

Expand
参数Description

scanner.disable

使用 true 在没有扫描器的情况下安装 Red Hat Advanced Cluster Security for Kubernetes。当您与 helm upgrade 命令一起使用时,Helm 会移除现有的 Scanner 部署。

scanner.exposeMonitoring

指定 true,以在端口号 9090 上为 Scanner 公开 Prometheus 指标端点。

scanner.replicas

为 Scanner 部署创建的副本数。当您将其与 scanner.autoscaling 参数搭配使用时,这个值会设置初始副本数。

scanner.logLevel

为 Scanner 配置日志级别。红帽建议您不要更改日志级别的默认值 (INFO)。

scanner.nodeSelector

将节点选择器标签指定为 label-key: label-value,以强制 Scanner 仅调度到具有指定标签的节点。

scanner.tolerations

如果节点选择器选择污点节点,请使用此参数为 Scanner 指定污点容限键、值和效果。此参数主要用于基础架构节点。

scanner.autoscaling.disable

使用 true 为 Scanner 部署禁用自动扩展。禁用自动扩展时,minReplicasmaxReplicas 参数没有任何效果。

scanner.autoscaling.minReplicas

自动扩展的最小副本数。

scanner.autoscaling.maxReplicas

自动扩展的最大副本数。

scanner.resources.requests.memory

扫描器的内存请求,以覆盖默认值。

scanner.resources.requests.cpu

扫描器的 CPU 请求,以覆盖默认值。

scanner.resources.limits.memory

扫描器的内存限值,以覆盖默认值。

scanner.resources.limits.cpu

扫描器的 CPU 限制,以覆盖默认值。

scanner.dbResources.requests.memory

Scanner 数据库部署的内存请求,以覆盖默认值。

scanner.dbResources.requests.cpu

扫描数据库部署的 CPU 请求,以覆盖默认值。

scanner.dbResources.limits.memory

Scanner 数据库部署的内存限值,以覆盖默认值。

scanner.dbResources.limits.cpu

扫描数据库部署的 CPU 限制,以覆盖默认值。

scanner.image.registry

Scanner 镜像的自定义 registry。

scanner.image.name

覆盖默认扫描程序镜像名称(scanner)的自定义镜像名称。

scanner.dbImage.registry

Scanner DB 镜像的自定义 registry。

scanner.dbImage.name

覆盖默认 Scanner DB 镜像名称 (scanner-db) 的自定义镜像名称。

scanner.dbNodeSelector

将节点选择器标签指定为 label-key: label-value,以强制 Scanner DB 仅调度到具有指定标签的节点。

scanner.dbTolerations

如果节点选择器选择污点节点,请使用此参数为 Scanner DB 指定污点容限键、值和效果。此参数主要用于基础架构节点。

3.3.2.2.2.7. 自定义

使用这些参数为 Red Hat Advanced Cluster Security for Kubernetes 创建的所有对象指定附加属性。

Expand
参数Description

customize.labels

附加到所有对象的自定义标签。

customize.annotations

附加到所有对象的自定义注解。

customize.podLabels

附加到所有部署的自定义标签。

customize.podAnnotations

附加到所有部署的自定义注解。

customize.envVars

所有对象中所有容器的自定义环境变量。

customize.central.labels

附加到 Central 创建的所有对象的自定义标签。

customize.central.annotations

附加到中央创建的所有对象的自定义注解。

customize.central.podLabels

附加到所有中央部署的自定义标签。

customize.central.podAnnotations

附加到所有中央部署的自定义注解。

customize.central.envVars

所有中央容器的自定义环境变量。

customize.scanner.labels

附加到 Scanner 创建的所有对象的自定义标签。

customize.scanner.annotations

附加到 Scanner 创建的所有对象的自定义注解。

customize.scanner.podLabels

附加到所有 Scanner 部署的自定义标签。

customize.scanner.podAnnotations

附加到所有 Scanner 部署的自定义注解。

customize.scanner.envVars

所有 Scanner 容器的自定义环境变量。

customize.scanner-db.labels

附加到 Scanner DB 创建的所有对象的自定义标签。

customize.scanner-db.annotations

附加到 Scanner DB 创建的所有对象的自定义注解。

customize.scanner-db.podLabels

附加到所有 Scanner DB 部署的自定义标签。

customize.scanner-db.podAnnotations

附加到所有 Scanner DB 部署的自定义注解。

customize.scanner-db.envVars

所有 Scanner DB 容器的自定义环境变量。

您还可以使用:

  • customize.other.service/*.labelscustomize.other.service/*.annotations 参数,为所有对象指定标签和注解。
  • 或者,提供特定的服务名称,例如 customize.other.service/central-loadbalancer.labelscustomize.other.service/central-loadbalancer.annotations 作为参数,并设置它们的值。
3.3.2.2.2.8. 高级自定义
重要

本节中指定的参数仅用于信息。红帽不支持带有修改后的命名空间和发行版本名称的 Red Hat Advanced Cluster Security for Kubernetes 实例。

Expand
参数Description

allowNonstandardNamespace

使用 true 将 Red Hat Advanced Cluster Security for Kubernetes 部署到默认命名空间 stackrox 以外的命名空间中。

allowNonstandardReleaseName

使用 true 使用默认 stackrox-central-services 之外的发行版本名称部署 Red Hat Advanced Cluster Security for Kubernetes。

3.3.2.2.3. 安装 central-services Helm chart

配置 values-public.yamlvalues-private.yaml 文件后,安装 central-services Helm Chart 来部署集中式组件(Central 和 Scanner)。

流程

  • 运行以下命令:

    $ helm install -n stackrox --create-namespace \
      stackrox-central-services rhacs/central-services \
      -f <path_to_values_public.yaml> -f <path_to_values_private.yaml> 
    1
    Copy to Clipboard Toggle word wrap
    1
    使用 -f 选项指定 YAML 配置文件的路径。

在部署 central-services Helm Chart 后,您可以对任何配置选项进行更改。

流程

  1. 使用新值更新 values-public.yamlvalues-private.yaml 配置文件。
  2. 运行 helm upgrade 命令并使用 -f 选项指定配置文件:

    $ helm upgrade -n stackrox \
      stackrox-central-services rhacs/central-services \
      -f <path_to_values_public.yaml> \
      -f <path_to_values_private.yaml>
    Copy to Clipboard Toggle word wrap
    注意

    您还可以使用 --set--set-file 参数指定配置值。但是,这些选项不会被保存,需要您在每次进行更改时手动指定所有选项。

3.3.3. 使用 roxctl CLI 安装 Central

警告

对于生产环境,红帽建议使用 Operator 或 Helm chart 来安装 RHACS。除非有需要使用此方法的特定安装需要,否则不要使用 roxctl 安装方法。

3.3.3.1. 安装 roxctl CLI

要安装 Red Hat Advanced Cluster Security for Kubernetes,您必须下载二进制文件来安装 roxctl CLI。您可以在 Linux、Windows 或 macOS 上安装 roxctl

3.3.3.1.1. 在 Linux 中安装 roxctl CLI

您可以按照以下流程在 Linux 上安装 roxctl CLI 二进制文件。

流程

  1. 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Linux/roxctl
    Copy to Clipboard Toggle word wrap
  2. 使 roxctl 二进制文件可执行:

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  3. roxctl 二进制文件放到 PATH 中的目录中:

    要查看您的 PATH,请执行以下命令:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap
3.3.3.1.2. 在 macOS 上安装 roxctl CLI

您可以按照以下流程在 macOS 中安装 roxctl CLI 二进制文件。

流程

  1. 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Darwin/roxctl
    Copy to Clipboard Toggle word wrap
  2. 从二进制文件中删除所有扩展属性:

    $ xattr -c roxctl
    Copy to Clipboard Toggle word wrap
  3. 使 roxctl 二进制文件可执行:

    $ chmod +x roxctl
    Copy to Clipboard Toggle word wrap
  4. roxctl 二进制文件放到 PATH 中的目录中:

    要查看您的 PATH,请执行以下命令:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap
3.3.3.1.3. 在 Windows 上安装 roxctl CLI

您可以按照以下流程在 Windows 上安装 roxctl CLI 二进制文件。

流程

  • 下载 roxctl CLI 的最新版本:

    $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Windows/roxctl.exe
    Copy to Clipboard Toggle word wrap

验证

  • 验证您已安装的 roxctl 版本:

    $ roxctl version
    Copy to Clipboard Toggle word wrap

3.3.3.2. 使用交互式安装程序

使用交互式安装程序为您的环境生成所需的 secret、部署配置和部署脚本。

流程

  1. 运行交互式 install 命令:

    $ roxctl central generate interactive
    Copy to Clipboard Toggle word wrap
    重要

    使用 roxctl CLI 安装 Red Hat Advanced Cluster Security for Kubernetes 会创建 PodSecurityPolicy (PSP)对象,以便向后兼容。如果要在 Kubernetes 版本 1.25 及更新版本上,或在 OpenShift Container Platform version 4.12 和更新版本上安装 RHACS,则必须禁用 PSP 对象的创建。要做到这一点,为 roxctl central generateroxctl sensor generate 命令指定 --enable-pod-security-policies 选项为 false

  2. Enter 接受提示的默认值或根据需要输入自定义值。

    Enter path to the backup bundle from which to restore keys and certificates (optional):
    Enter PEM cert bundle file (optional): 
    1
    
    Enter administrator password (default: autogenerated):
    Enter orchestrator (k8s, openshift): openshift
    Enter the directory to output the deployment bundle to (default: "central-bundle"):
    Enter the OpenShift major version (3 or 4) to deploy on (default: "0"): 4
    Enter Istio version when deploying into an Istio-enabled cluster (leave empty when not running Istio) (optional):
    Enter the method of exposing Central (route, lb, np, none) (default: "none"): route 
    2
    
    Enter main image to use (default: "stackrox.io/main:3.0.61.1"):
    Enter whether to run StackRox in offline mode, which avoids reaching out to the Internet (default: "false"):
    Enter whether to enable telemetry (default: "true"):
    Enter the deployment tool to use (kubectl, helm, helm-values) (default: "kubectl"):
    Enter Scanner DB image to use (default: "stackrox.io/scanner-db:2.15.2"):
    Enter Scanner image to use (default: "stackrox.io/scanner:2.15.2"):
    Enter Central volume type (hostpath, pvc): pvc 
    3
    
    Enter external volume name (default: "stackrox-db"):
    Enter external volume size in Gi (default: "100"):
    Enter storage class name (optional if you have a default StorageClass configured):
    Copy to Clipboard Toggle word wrap
    1
    如果要添加自定义 TLS 证书,请提供 PEM 编码证书的文件路径。当您指定自定义证书时,交互式安装程序还会提示您为您要使用的自定义证书提供 PEM 私钥。
    2
    要使用 RHACS 门户,您必须使用路由(负载均衡器或节点端口)公开中。
    3
    如果您计划在带有 hostPath 卷的 OpenShift Container Platform 上安装 Red Hat Advanced Cluster Security for Kubernetes,您必须修改 SELinux 策略。
    警告

    在 OpenShift Container Platform 中,对于 hostPath 卷,您必须修改 SELinux 策略以允许访问主机和容器共享的目录。这是因为 SELinux 默认阻止目录共享。要修改 SELinux 策略,请运行以下命令:

    $ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>
    Copy to Clipboard Toggle word wrap

    但是,红帽不推荐修改 SELinux 策略,在 OpenShift Container Platform 上安装时使用 PVC。

在完成时,安装程序会创建一个名为 central-bundle 的文件夹,其中包含用于部署 Central 所需的 YAML 清单和脚本。另外,它显示了您需要运行的脚本的屏幕说明,以部署其他可信证书颁发机构、中部和扫描器,以及登录 RHACS 门户的身份验证说明(如果您回答提示时未提供密码)。

3.3.3.3. 运行中央安装脚本

运行交互式安装程序后,您可以运行 setup.sh 脚本来安装 Central。

流程

  1. 运行 setup.sh 脚本来配置镜像 registry 访问:

    $ ./central-bundle/central/scripts/setup.sh
    Copy to Clipboard Toggle word wrap
  2. 创建所需资源:

    $ oc create -R -f central-bundle/central
    Copy to Clipboard Toggle word wrap
  3. 检查部署进度:

    $ oc get pod -n stackrox -w
    Copy to Clipboard Toggle word wrap
  4. 在 Central 运行后,找到 RHACS 门户 IP 地址并在浏览器中打开。根据您在回答提示时选择的风险,请使用以下方法之一获取 IP 地址。

    Expand
    公开方法命令地址Example

    Route(路由)

    oc -n stackrox get route central

    在输出中 HOST/PORT 列下的地址

    https://central-stackrox.example.route

    节点端口

    oc get node -owide && oc -n stackrox get svc central-loadbalancer

    任何节点的 IP 或主机名,在服务显示的端口中

    https://198.51.100.0:31489

    Load Balancer

    oc -n stackrox get svc central-loadbalancer

    在端口 443 上为服务显示 EXTERNAL-IP 或主机名

    https://192.0.2.0

    central-bundle/central/scripts/port-forward.sh 8443

    https://localhost:8443

    https://localhost:8443

注意

如果您在互动安装过程中选择了自动生成的密码,您可以运行以下命令将其记录到 Central:

$ cat central-bundle/password
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat