×

使用 Operator 在安全集群上安装 RHACS

安装安全集群服务

您可以使用 Operator 在集群上安装安全集群服务,它会创建 `SecuredCluster` 自定义资源。您必须在您想要监控的环境中的每个集群上安装安全集群服务。

安装 Red Hat Advanced Cluster Security for Kubernetes 时

  • 如果您是第一次安装 RHACS,则必须首先安装 `Central` 自定义资源,因为 `SecuredCluster` 自定义资源的安装依赖于 Central 生成的证书。

  • 请勿在项目名称以 `kube`、`openshift` 或 `redhat` 开头,或在 `istio-system` 项目中安装 `SecuredCluster`。

  • 如果您在也托管 Central 的集群上安装 RHACS `SecuredCluster` 自定义资源,请确保将其安装在与 Central 相同的命名空间中。

  • 如果您在不托管 Central 的集群上安装 Red Hat Advanced Cluster Security for Kubernetes `SecuredCluster` 自定义资源,Red Hat 建议您将 Red Hat Advanced Cluster Security for Kubernetes `SecuredCluster` 自定义资源安装在其自己的项目中,而不是安装 Red Hat Advanced Cluster Security for Kubernetes Operator 的项目中。

先决条件
  • 如果您使用的是 OpenShift Container Platform,则必须安装 4.12 或更高版本。

  • 您已在要保护的集群(称为安全集群)上安装了 RHACS Operator。

  • 您已生成初始化包并将其应用于集群。

步骤
  1. 在安全集群的 OpenShift Container Platform Web 控制台中,转到**Operators** → **Installed Operators** 页面。

  2. 点击 RHACS Operator。

  3. 如果您已在推荐的命名空间中安装了 Operator,OpenShift Container Platform 会将项目列为rhacs-operator。选择**Project: rhacs-operator** → **Create project**。

    • 如果您在不同的命名空间中安装了 Operator,OpenShift Container Platform 会列出该命名空间的名称,而不是rhacs-operator

  4. 输入新的项目名称(例如,stackrox),然后点击**Create**。Red Hat 建议您使用stackrox作为项目名称。

  5. 在**Operator details**页面的中央导航菜单中点击**Secured Cluster**。

  6. 点击**Create SecuredCluster**。

  7. 在**Configure via**字段中选择以下选项之一:

    • **Form view**:如果您想使用屏幕上的字段配置安全集群并且不需要更改任何其他字段,请使用此选项。

    • **YAML view**:使用此视图通过 YAML 文件设置安全集群。YAML 文件显示在窗口中,您可以在其中编辑字段。如果您选择此选项,编辑完文件后,请点击**Create**。

  8. 如果您使用的是**Form view**,请接受或编辑默认名称来输入新的项目名称。默认值为**stackrox-secured-cluster-services**。

  9. 可选:为集群添加任何标签。

  10. 为您的SecuredCluster自定义资源输入一个唯一的名称。

  11. 对于**Central Endpoint**,请输入您的 Central 实例的地址。例如,如果 Central 可通过https://central.example.com访问,则将中心端点指定为central.example.com

    • 仅当您在安装 Central 的同一集群中安装安全集群服务时,才使用默认值central.stackrox.svc:443

    • 配置多个集群时,请勿使用默认值。配置每个集群的**Central Endpoint**值时,请改用主机名。

  12. 对于其余字段,请接受默认值或根据需要配置自定义值。例如,如果您使用自定义证书或不受信任的 CA,则可能需要配置 TLS。有关更多信息,请参见“使用 Operator 配置 RHACS 的安全集群服务选项”。

  13. 点击**Create**。

  14. 短暂暂停后,**SecuredClusters**页面将显示stackrox-secured-cluster-services的状态。您可能会看到以下状态:

    • **Conditions: Deployed, Initialized**:安全集群服务已安装,并且安全集群正在与 Central 通信。

    • **Conditions: Initialized, Irreconcilable**:安全集群未与 Central 通信。确保您已将您在 RHACS Web 门户中创建的初始化包应用于安全集群。

后续步骤
  1. 配置其他安全集群设置(可选)。

  2. 验证安装。

使用 Helm Chart 在安全集群上安装 RHACS

您可以使用 Helm Chart 在安全集群上安装 RHACS,无需自定义,使用默认值,或自定义配置参数。

使用 Helm Chart 在安全集群上安装 RHACS(无需自定义)

添加 Helm Chart 仓库

步骤
  • 添加 RHACS Chart 仓库。

    $ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/

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

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

    您只需部署一次集中式组件,即可使用相同的安装来监控多个单独的集群。

  • 安全集群服务 Helm Chart(secured-cluster-services),用于安装每个集群和每个节点的组件(Sensor、Admission Controller、Collector 和 Scanner-slim)。

    将每个集群的组件部署到您要监控的每个集群中,并将每个节点的组件部署到您要监控的所有节点中。

验证
  • 运行以下命令以验证已添加的 Chart 仓库:

    $ helm search repo -l rhacs/

无需自定义地安装 secured-cluster-services Helm Chart

请按照以下说明安装secured-cluster-services Helm Chart 以部署每个集群和每个节点的组件(Sensor、Admission controller、Collector 和 Scanner-slim)。

先决条件
  • 您必须为您的集群生成 RHACS 初始化包。

  • 您必须能够访问 Red Hat Container Registry 和用于身份验证的拉取密钥。有关从registry.redhat.io下载镜像的信息,请参见Red Hat Container Registry 身份验证

  • 您必须知道您正在公开 Central 服务的地址。

步骤
  • 在 OpenShift Container Platform 集群上运行以下命令:

    $ helm install -n stackrox --create-namespace \
        stackrox-secured-cluster-services rhacs/secured-cluster-services \
        -f <path_to_cluster_init_bundle.yaml> \(1)
        -f <path_to_pull_secret.yaml> \(2)
        --set clusterName=<name_of_the_secured_cluster> \
        --set centralEndpoint=<endpoint_of_central_service> (3)
        --set scanner.disable=false (4)
    
    1 使用-f选项指定初始化包的路径。
    2 使用-f选项指定 Red Hat Container Registry 身份验证的拉取密钥的路径。
    3 指定 Central 的地址和端口号。例如,acs.domain.com:443
    4 scanner.disable参数的值设置为false,这意味着在安装过程中将启用 Scanner-slim。在 Kubernetes 中,安全集群服务现在包含 Scanner-slim 作为可选组件。

使用自定义配置 secured-cluster-services Helm Chart

本节介绍您可以与helm installhelm upgrade命令一起使用的 Helm Chart 配置参数。您可以使用--set选项或创建 YAML 配置文件来指定这些参数。

创建以下文件以配置用于安装 Red Hat Advanced Cluster Security for Kubernetes 的 Helm Chart:

  • 公共配置文件values-public.yaml:使用此文件保存所有非敏感配置选项。

  • 私有配置文件values-private.yaml:使用此文件保存所有敏感配置选项。确保安全地存储此文件。

使用secured-cluster-services Helm Chart 时,请勿修改 Chart 中的values.yaml文件。

配置参数

参数 描述

clusterName

您的集群名称。

centralEndpoint

Central 端点的地址。如果您使用的是不支持 gRPC 的负载均衡器,请使用 WebSocket 协议,并在端点地址前添加wss://。配置多个集群时,请使用主机名作为地址。例如,central.example.com

sensor.endpoint

Sensor 端点的地址,包括端口号。

sensor.imagePullPolicy

Sensor 容器的镜像拉取策略。

sensor.serviceTLS.cert

Sensor 使用的内部服务间 TLS 证书。

sensor.serviceTLS.key

Sensor 使用的内部服务间 TLS 证书密钥。

sensor.resources.requests.memory

Sensor 容器的内存请求。使用此参数可覆盖默认值。

sensor.resources.requests.cpu

Sensor容器的CPU请求。使用此参数可覆盖默认值。

sensor.resources.limits.memory

Sensor容器的内存限制。使用此参数可覆盖默认值。

sensor.resources.limits.cpu

Sensor容器的CPU限制。使用此参数可覆盖默认值。

sensor.nodeSelector

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

sensor.tolerations

如果节点选择器选择了受污染的节点,请使用此参数为Sensor指定污点容忍键、值和效果。此参数主要用于基础设施节点。

image.main.name

main镜像的名称。

image.collector.name

Collector镜像的名称。

image.main.registry

您用于main镜像的注册表的地址。

image.collector.registry

您用于Collector镜像的注册表的地址。

image.scanner.registry

您用于Scanner镜像的注册表的地址。

image.scannerDb.registry

您用于Scanner DB镜像的注册表的地址。

image.scannerV4.registry

您用于Scanner V4镜像的注册表的地址。

image.scannerV4DB.registry

您用于Scanner V4 DB镜像的注册表的地址。

image.main.pullPolicy

main镜像的镜像拉取策略。

image.collector.pullPolicy

Collector镜像的镜像拉取策略。

image.main.tag

要使用的main镜像的标签。

image.collector.tag

要使用的collector镜像的标签。

collector.collectionMethod

CORE_BPFNO_COLLECTION

collector.imagePullPolicy

Collector容器的镜像拉取策略。

collector.complianceImagePullPolicy

Compliance容器的镜像拉取策略。

collector.disableTaintTolerations

如果指定为false,则将容忍度应用于Collector,并且collector pod可以调度到所有带有污点的节点上。如果指定为true,则不应用任何容忍度,并且collector pod不会调度到带有污点的节点上。

collector.resources.requests.memory

Collector容器的内存请求。使用此参数可覆盖默认值。

collector.resources.requests.cpu

Collector容器的CPU请求。使用此参数可覆盖默认值。

collector.resources.limits.memory

Collector容器的内存限制。使用此参数可覆盖默认值。

collector.resources.limits.cpu

Collector容器的CPU限制。使用此参数可覆盖默认值。

collector.complianceResources.requests.memory

Compliance容器的内存请求。使用此参数可覆盖默认值。

collector.complianceResources.requests.cpu

Compliance容器的CPU请求。使用此参数可覆盖默认值。

collector.complianceResources.limits.memory

Compliance容器的内存限制。使用此参数可覆盖默认值。

collector.complianceResources.limits.cpu

Compliance容器的CPU限制。使用此参数可覆盖默认值。

collector.serviceTLS.cert

Collector使用的内部服务间TLS证书。

collector.serviceTLS.key

Collector使用的内部服务间TLS证书密钥。

admissionControl.listenOnCreates

此设置控制是否将Kubernetes配置为使用针对工作负载创建事件的AdmissionReview请求与Red Hat Advanced Cluster Security for Kubernetes联系。

admissionControl.listenOnUpdates

将此参数设置为false时,Red Hat Advanced Cluster Security for Kubernetes会以一种导致Kubernetes API服务器不发送对象更新事件的方式创建ValidatingWebhookConfiguration。由于对象更新的数量通常高于对象创建的数量,因此将其保留为false可以限制准入控制服务的负载,并减少准入控制服务发生故障的可能性。

admissionControl.listenOnEvents

此设置控制集群是否配置为使用针对Kubernetes execportforward事件的AdmissionReview请求与Red Hat Advanced Cluster Security for Kubernetes联系。RHACS不支持在OpenShift Container Platform 3.11上使用此功能。

admissionControl.dynamic.enforceOnCreates

此设置控制Red Hat Advanced Cluster Security for Kubernetes是否评估策略;如果禁用此设置,则所有AdmissionReview请求都会自动接受。

admissionControl.dynamic.enforceOnUpdates

此设置控制准入控制服务的行为。必须将listenOnUpdates指定为true才能使其生效。

admissionControl.dynamic.scanInline

如果将此选项设置为true,则准入控制服务会在做出准入决策之前请求镜像扫描。由于镜像扫描需要几秒钟,因此只有在您可以确保在部署之前扫描集群中使用的所有镜像(例如,通过镜像构建期间的CI集成)时,才启用此选项。此选项对应于RHACS门户中的**联系镜像扫描器**选项。

admissionControl.dynamic.disableBypass

将其设置为true可禁用绕过准入控制器。

admissionControl.dynamic.timeout

使用此参数指定RHACS在将准入审查标记为失败打开之前必须等待的最长时间(以秒为单位)。如果准入Webhook在超时期结束之前未收到其请求的信息,则它会失败,但在失败打开状态下,它仍然允许操作成功。例如,即使扫描超时并且RHACS无法确定部署是否违反了策略,准入控制器仍允许创建部署。从4.5版本开始,Red Hat将RHACS准入控制器Webhook的默认超时设置从20秒减少到10秒,导致ValidatingWebhookConfiguration中的有效超时为12秒。此更改不会对OpenShift Container Platform用户产生负面影响,因为OpenShift Container Platform将超时限制为13秒。

admissionControl.resources.requests.memory

准入控制容器的内存请求。使用此参数可覆盖默认值。

admissionControl.resources.requests.cpu

准入控制容器的CPU请求。使用此参数可覆盖默认值。

admissionControl.resources.limits.memory

准入控制容器的内存限制。使用此参数可覆盖默认值。

admissionControl.resources.limits.cpu

准入控制容器的CPU限制。使用此参数可覆盖默认值。

admissionControl.nodeSelector

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

admissionControl.tolerations

如果节点选择器选择了受污染的节点,请使用此参数为准入控制指定污点容忍键、值和效果。此参数主要用于基础设施节点。

admissionControl.serviceTLS.cert

准入控制使用的内部服务间TLS证书。

admissionControl.serviceTLS.key

准入控制使用的内部服务间TLS证书密钥。

registryOverride

使用此参数可以覆盖默认的 docker.io 注册表。如果您使用的是其他注册表,请指定您的注册表名称。

collector.disableTaintTolerations

如果您指定为 false,则将容忍度应用于 Collector,Collector Pod 可以在所有带有污点的节点上调度。如果您将其指定为 true,则不应用任何容忍度,并且 Collector Pod 不会调度到带有污点的节点上。

createUpgraderServiceAccount

指定 true 以创建 sensor-upgrader 账户。默认情况下,Red Hat Advanced Cluster Security for Kubernetes 在每个受保护的集群中创建一个名为 sensor-upgrader 的服务账户。此账户权限很高,但仅在升级期间使用。如果您不创建此账户,如果 Sensor 权限不足,则必须手动完成将来的升级。

createSecrets

指定 false 以跳过 Sensor、Collector 和准入控制器的协调器密钥创建。

collector.slimMode

已弃用。如果您想使用精简版 Collector 镜像来部署 Collector,请指定 true

sensor.resources

Sensor 的资源规范。

admissionControl.resources

准入控制器的资源规范。

collector.resources

Collector 的资源规范。

collector.complianceResources

Collector 的合规性容器的资源规范。

exposeMonitoring

如果将此选项设置为 true,Red Hat Advanced Cluster Security for Kubernetes 将在端口号 9090 上公开 Sensor、Collector 和准入控制器的 Prometheus 指标端点。

auditLogs.disableCollection

如果将此选项设置为 true,Red Hat Advanced Cluster Security for Kubernetes 将禁用用于检测对配置映射和密钥的访问和修改的审计日志检测功能。

scanner.disable

如果将此选项设置为 false,Red Hat Advanced Cluster Security for Kubernetes 将在受保护的集群中部署 Scanner-slim 和 Scanner DB,以允许扫描集成 OpenShift 镜像注册表上的镜像。启用 Scanner-slim 在 OpenShift Container Platform 和 Kubernetes 受保护集群上受支持。默认为 true

scanner.dbTolerations

如果节点选择器选择了带有污点的节点,请使用此参数为 Scanner DB 指定污点容忍键、值和效果。

scanner.replicas

Collector 的合规性容器的资源规范。

scanner.logLevel

设置此参数允许您修改扫描程序日志级别。仅出于故障排除目的使用此选项。

scanner.autoscaling.disable

如果将此选项设置为 true,Red Hat Advanced Cluster Security for Kubernetes 将禁用 Scanner 部署的自动缩放。

scanner.autoscaling.minReplicas

自动缩放的最小副本数。默认为 2。

scanner.autoscaling.maxReplicas

自动缩放的最大副本数。默认为 5。

scanner.nodeSelector

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

scanner.tolerations

如果节点选择器选择了带有污点的节点,请使用此参数为 Scanner 指定污点容忍键、值和效果。

scanner.dbNodeSelector

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

scanner.dbTolerations

如果节点选择器选择了带有污点的节点,请使用此参数为 Scanner DB 指定污点容忍键、值和效果。

scanner.resources.requests.memory

Scanner 容器的内存请求。使用此参数覆盖默认值。

scanner.resources.requests.cpu

Scanner 容器的 CPU 请求。使用此参数覆盖默认值。

scanner.resources.limits.memory

Scanner 容器的内存限制。使用此参数覆盖默认值。

scanner.resources.limits.cpu

Scanner 容器的 CPU 限制。使用此参数覆盖默认值。

scanner.dbResources.requests.memory

Scanner DB 容器的内存请求。使用此参数覆盖默认值。

scanner.dbResources.requests.cpu

Scanner DB 容器的 CPU 请求。使用此参数覆盖默认值。

scanner.dbResources.limits.memory

Scanner DB 容器的内存限制。使用此参数覆盖默认值。

scanner.dbResources.limits.cpu

Scanner DB 容器的 CPU 限制。使用此参数覆盖默认值。

monitoring.openshift.enabled

如果将此选项设置为 false,Red Hat Advanced Cluster Security for Kubernetes 将不会设置 Red Hat OpenShift 监控。在 Red Hat OpenShift 4 上默认为 true

network.enableNetworkPolicies

为了在网络级别提供安全性,RHACS 在安装受保护集群资源的命名空间中创建默认的 NetworkPolicy 资源。这些网络策略允许在特定端口上对特定组件进行入站访问。如果您不希望 RHACS 创建这些策略,请将此参数设置为 False。这是一个布尔值。默认值为 True,这意味着默认策略会自动创建。

禁用默认网络策略的创建可能会中断 RHACS 组件之间的通信。如果您禁用了默认策略的创建,则必须创建您自己的网络策略以允许此通信。

环境变量

您可以使用以下格式指定 Sensor 和准入控制器的环境变量

customize:
  envVars:
    ENV_VAR1: "value1"
    ENV_VAR2: "value2"

customize 设置允许您为该 Helm 图表创建的所有对象指定自定义 Kubernetes 元数据(标签和注释),以及为工作负载指定其他 Pod 标签、Pod 注释和容器环境变量。

此配置是分层的,这意味着在更通用的范围内定义的元数据(例如,对于所有对象)可以被在更窄的范围内定义的元数据(例如,仅对于 Sensor 部署)覆盖。

使用自定义安装 secured-cluster-services Helm 图表

配置 values-public.yamlvalues-private.yaml 文件后,安装 secured-cluster-services Helm 图表以部署以下每个集群和每个节点的组件

  • Sensor

  • 准入控制器

  • Collector

  • Scanner:安装 StackRox Scanner 时,受保护集群的可选组件

  • Scanner DB:安装 StackRox Scanner 时,受保护集群的可选组件

  • Scanner V4 Indexer 和 Scanner V4 DB:安装 Scanner V4 时,受保护集群的可选组件

先决条件
  • 您必须为您的集群生成 RHACS 初始化包。

  • 您必须能够访问 Red Hat Container Registry 和用于身份验证的拉取密钥。有关从registry.redhat.io下载镜像的信息,请参见Red Hat Container Registry 身份验证

  • 您必须拥有您正在公开 Central 服务的地址和端口号。

步骤
  • 运行以下命令

    $ helm install -n stackrox \
      --create-namespace stackrox-secured-cluster-services rhacs/secured-cluster-services \
      -f <name_of_cluster_init_bundle.yaml> \
      -f <path_to_values_public.yaml> -f <path_to_values_private.yaml> \(1)
      --set imagePullSecrets.username=<username> \(2)
      --set imagePullSecrets.password=<password> (3)
    1 使用 -f 选项指定 YAML 配置文件的路径。
    2 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的用户名。
    3 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的密码。

要使用持续集成 (CI) 系统部署 secured-cluster-services Helm 图表,请将 init bundle YAML 文件作为环境变量传递给 helm install 命令

$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET") (1)
1 如果您使用的是 base64 编码的变量,请改用 helm install …​ -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode) 命令。

部署 secured-cluster-services Helm 图表后更改配置选项

部署 secured-cluster-services Helm 图表后,您可以更改任何配置选项。

使用 helm upgrade 命令进行更改时,适用以下指导原则和要求

  • 您也可以使用 --set--set-file 参数指定配置值。但是,这些选项不会保存,您必须在每次进行更改时都手动再次指定所有选项。

  • 某些更改(例如启用 Scanner V4 等新组件)需要为该组件颁发新的证书。因此,在进行这些更改时,必须提供 CA。

    • 如果 CA 是在初始安装期间由 Helm chart 生成的,则必须从集群中检索这些自动生成的数值,并将其提供给helm upgrade命令。central-services Helm chart 的安装后说明中包含一个用于检索自动生成的数值的命令。

    • 如果 CA 是在 Helm chart 之外生成的,并在安装central-services chart 期间提供,则在使用helm upgrade命令时必须再次执行此操作,例如,使用--reuse-values标志与helm upgrade命令一起使用。

步骤
  1. 使用新值更新values-public.yamlvalues-private.yaml配置文件。

  2. 运行helm upgrade命令,并使用-f选项指定配置文件。

    $ helm upgrade -n stackrox \
      stackrox-secured-cluster-services rhacs/secured-cluster-services \
      --reuse-values \(1)
      -f <path_to_values_public.yaml> \
      -f <path_to_values_private.yaml>
    1 如果修改了values_public.yamlvalues_private.yaml文件中未包含的值,请包含--reuse-values参数。

使用 roxctl CLI 在安全集群上安装 RHACS

此方法也称为清单安装方法。

先决条件
  • 如果您计划使用roxctl CLI 命令生成传感器安装脚本使用的文件,则您已安装roxctl CLI。

  • 您已生成传感器安装脚本将使用的文件。

步骤
  • 在 OpenShift Container Platform 安全集群上,通过运行传感器安装脚本部署 Sensor 组件。

安装 roxctl CLI

您必须首先下载二进制文件。您可以在 Linux、Windows 或 macOS 上安装roxctl

在 Linux 上安装 roxctl CLI

您可以使用以下步骤在 Linux 上安装roxctl CLI 二进制文件。

Linux 版roxctl CLI 可用于amd64arm64ppc64les390x架构。

步骤
  1. 确定目标操作系统的roxctl架构。

    $ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
  2. 下载roxctl CLI。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.6.1/bin/Linux/roxctl${arch}"
  3. 使roxctl二进制文件可执行。

    $ chmod +x roxctl
  4. roxctl二进制文件放置在PATH中的目录中。

    要检查您的PATH,请执行以下命令。

    $ echo $PATH
验证
  • 验证您已安装的roxctl版本。

    $ roxctl version

在 macOS 上安装 roxctl CLI

您可以使用以下步骤在 macOS 上安装roxctl CLI 二进制文件。

macOS 版roxctl CLI 可用于amd64arm64架构。

步骤
  1. 确定目标操作系统的roxctl架构。

    $ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
  2. 下载roxctl CLI。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.6.1/bin/Darwin/roxctl${arch}"
  3. 删除二进制文件中的所有扩展属性。

    $ xattr -c roxctl
  4. 使roxctl二进制文件可执行。

    $ chmod +x roxctl
  5. roxctl二进制文件放置在PATH中的目录中。

    要检查您的PATH,请执行以下命令。

    $ echo $PATH
验证
  • 验证您已安装的roxctl版本。

    $ roxctl version

在 Windows 上安装 roxctl CLI

您可以使用以下步骤在 Windows 上安装roxctl CLI 二进制文件。

Windows 版roxctl CLI 可用于amd64架构。

步骤
  • 下载roxctl CLI。

    $ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.6.1/bin/Windows/roxctl.exe
验证
  • 验证您已安装的roxctl版本。

    $ roxctl version

安装 Sensor

要监控集群,必须部署 Sensor。必须将 Sensor 部署到要监控的每个集群中。此安装方法也称为清单安装方法。

要使用清单安装方法执行安装,请仅遵循以下步骤之一。

  • 使用 RHACS Web 门户下载集群包,然后提取并运行传感器脚本。

  • 使用roxctl CLI 为您的 OpenShift Container Platform 集群生成所需的传感器配置,并将其与您的 Central 实例关联。

先决条件
  • 您必须已安装 Central 服务,或者您可以通过在 Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) 上选择您的**ACS 实例**来访问 Central 服务。

使用 Web 门户的清单安装方法

步骤
  1. 在您的安全集群中,在 RHACS 门户中,转到**平台配置** → **集群**。

  2. 选择**保护集群** → **旧版安装方法**。

  3. 指定集群的名称。

  4. 根据您部署 Sensor 的位置,为字段提供适当的值。

    • 如果您在同一集群中部署 Sensor,请接受所有字段的默认值。

    • 如果您部署到其他集群,请将central.stackrox.svc:443替换为负载均衡器、节点端口或其他地址(包括端口号),该地址可从其他集群访问。

    • 如果您使用的是不支持 gRPC 的负载均衡器,例如 HAProxy、AWS Application Load Balancer (ALB) 或 AWS Elastic Load Balancing (ELB),请使用 WebSocket Secure (wss) 协议。要使用wss

      • 在地址前加上wss://

      • 在地址后添加端口号,例如wss://stackrox-central.example.com:443

  5. 单击**下一步**继续进行 Sensor 设置。

  6. 单击**下载 YAML 文件和密钥**以下载集群包(zip 存档)。

    集群包 zip 存档包含每个集群的唯一配置和密钥。请勿在另一个集群中重复使用相同的文件。

  7. 从具有访问受监控集群权限的系统中,提取并运行集群包中的sensor脚本。

    $ unzip -d sensor sensor-<cluster_name>.zip
    $ ./sensor/sensor.sh

    如果您收到有关您没有部署 Sensor 所需权限的警告,请按照屏幕上的说明操作,或联系您的集群管理员寻求帮助。

部署 Sensor 后,它会联系 Central 并提供集群信息。

使用 roxctl CLI 的清单安装

步骤
  1. 通过运行以下命令,为您的 OpenShift Container Platform 集群生成所需的传感器配置,并将其与您的 Central 实例关联。

    $ roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT" (1)
    1 对于--openshift-version选项,请指定集群的主要 OpenShift Container Platform 版本号。例如,对于 OpenShift Container Platform 版本3.x,指定3;对于 OpenShift Container Platform 版本4.x,指定4
  2. 从具有访问受监控集群权限的系统中,提取并运行集群包中的sensor脚本。

    $ unzip -d sensor sensor-<cluster_name>.zip
    $ ./sensor/sensor.sh

    如果您收到有关您没有部署 Sensor 所需权限的警告,请按照屏幕上的说明操作,或联系您的集群管理员寻求帮助。

部署 Sensor 后,它会联系 Central 并提供集群信息。

验证
  1. 返回 RHACS 门户并检查部署是否成功。如果成功,当您在**平台配置** → **集群**中查看集群列表时,集群状态将显示绿色复选标记和**健康**状态。如果您没有看到绿色复选标记,请使用以下命令检查问题。

    • 在 OpenShift Container Platform 上,输入以下命令。

      $ oc get pod -n stackrox -w
    • 在 Kubernetes 上,输入以下命令。

      $ kubectl get pod -n stackrox -w
  2. 单击**完成**以关闭窗口。

安装后,Sensor 开始向 RHACS 报告安全信息,RHACS 门户仪表板开始显示您已安装 Sensor 的集群中的部署、镜像和策略冲突。