4.4. 在 Red Hat OpenShift 上为 RHACS 安装安全集群服务


您可以使用以下方法之一在安全集群中安装 RHACS:

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

4.4.1. 使用 Operator 在安全集群中安装 RHACS

4.4.1.1. 安装安全的集群服务

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

重要

安装 Red Hat Advanced Cluster Security for Kubernetes 时:

  • 如果您是首次安装 RHACS,您必须首先安装 Central 自定义资源,因为 SecuredCluster 自定义资源安装依赖于 Central 生成的证书。
  • 不要在名称以 kubeopenshiftredhat 开头的项目中安装 SecuredCluster,或在 istio-system 项目中安装 SecuredCluster。
  • 如果要在同时托管 Central 的集群中安装 RHACS SecuredCluster 自定义资源,请确保将其安装到与 Central 相同的命名空间中安装。
  • 如果要在没有主机 Central 的集群中安装 Red Hat Advanced Cluster Security for Kubernetes SecuredCluster 自定义资源,红帽建议您在自己的项目中安装 Red Hat Advanced Cluster Security for Kubernetes SecuredCluster 自定义资源,而不是在您安装了 Red Hat Advanced Cluster Security for Kubernetes Operator 的项目中。

先决条件

  • 如果使用 OpenShift Container Platform,您必须安装 4.12 或更高版本。
  • 您已在要保护的集群中安装了 RHACS Operator,称为安全集群。
  • 您已生成 init 捆绑包并将其应用到集群。

流程

  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。红帽建议您使用 stackrox 作为项目名称。
  5. Operator 详情页面的中央导航菜单中点 Secured Cluster
  6. Create SecuredCluster
  7. Configure via 字段中选择以下选项之一:

    • 表单视图 :如果要使用屏幕字段配置安全集群且不需要更改任何其他字段,则使用这个选项。
    • YAML 视图 :使用此视图使用 YAML 文件设置安全集群。YAML 文件显示在窗口中,您可以在其中编辑字段。如果您选择这个选项,请在完成编辑完该文件时,点 Create
  8. 如果使用 Form view,请通过接受或编辑默认名称来输入新项目名称。默认值为 stackrox-secured-cluster-services
  9. 可选:为集群添加任何标签。
  10. 输入您的 SecuredCluster 自定义资源的唯一名称。
  11. 对于 Central 端点,请输入您的 Central 实例的地址。例如,如果 Central 位于 https://central.example.com,则将中央端点指定为 central.example.com

    • 只有在安装了 Central 的同一集群中安装安全集群服务时,才使用 central.stackrox.svc:443 的默认值。
    • 在配置多个集群时,不要使用默认值。反之,在为每个集群配置 Central Endpoint 值时使用主机名。
  12. 对于剩余的字段,接受默认值或配置自定义值(如果需要)。例如,如果您使用自定义证书或不可信 CA,您可能需要配置 TLS。如需更多信息,请参阅"使用 Operator 为 RHACS 配置安全集群服务选项"。
  13. Create
  14. 在短暂暂停后,Secured Clusters 页面会显示 stackrox-secured-cluster-services 的状态。您可能会看到以下条件:

    • Conditions: Deployed, Initialized: 已安装安全集群服务,安全集群与 Central 通信。
    • 条件 : Initialized, Irreconcilable :安全集群没有与 Central 通信。确保将在 RHACS Web 门户中创建的 init 捆绑包应用到安全集群。

后续步骤

  1. 配置额外的安全集群设置(可选)。
  2. 验证安装。

4.4.2. 使用 Helm chart 在安全集群中安装 RHACS

您可以使用没有自定义的 Helm chart、使用默认值或配置参数自定义的 Helm chart 在安全集群中安装 RHACS。

4.4.2.1. 使用 Helm chart 在安全集群中安装 RHACS

4.4.2.1.1. 添加 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 和 Scanner)的中央服务Helm Chart(central-services)。

    注意

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

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

    注意

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

验证

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

    $ helm search repo -l rhacs/
4.4.2.1.2. 在不使用自定义配置的情况下安装 secured-cluster-services Helm chart

使用以下说明安装 secure-cluster-services Helm chart,以部署 per-cluster 和 per-node 组件(Sensor、Admission controller、Collector 和 Scanner-slim)。

先决条件

  • 您必须已为集群生成 RHACS init 捆绑包。
  • 您必须有权访问 Red Hat Container Registry 和 pull secret 进行身份验证。有关从 registry.redhat.io 下载镜像的详情,请参考 Red Hat Container Registry Authentication
  • 您必须具有公开 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 选项指定 init 捆绑包的路径。
    2
    使用 -f 选项指定 Red Hat Container Registry 身份验证的 pull secret 的路径。
    3
    指定 Central 的地址和端口号。例如,acs.domain.com:443
    4
    scanner.disable 参数的值设置为 false,这意味着在安装过程中将启用 Scanner-slim。在 Kubernetes 中,安全集群服务现在包括 Scanner-slim 作为可选组件。

4.4.2.2. 使用自定义配置 secured-cluster-services Helm chart

本节论述了可用于 helm installhelm upgrade 命令的 Helm Chart 配置参数。您可以使用 --set 选项或创建 YAML 配置文件来指定这些参数。

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

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

在使用 secured-cluster-services Helm Chart 时,不要修改属于 chart 的 values.yaml 文件。

4.4.2.2.1. 配置参数
参数Description

clusterName

集群的名称。

centralEndpoint

Central 端点的地址。如果使用一个支持非 gRPC 的负载均衡器,请使用带有 ws:// 的端点地址的 WebSocket 协议。在配置多个集群时,使用主机名作为地址。例如,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

用于主镜像的 registry 地址。

image.collector.registry

用于 Collector 镜像的 registry 地址。

image.scanner.registry

用于 Scanner 镜像的 registry 地址。

image.scannerDb.registry

用于 Scanner DB 镜像的 registry 地址。

image.scannerV4.registry

用于 Scanner V4 镜像的 registry 地址。

image.scannerV4DB.registry

用于 Scanner V4 DB 镜像的 registry 地址。

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,并且收集器 pod 可以调度到具有污点的所有节点上。如果将其指定为 true,则不会应用任何容限,且收集器 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 是否配置为联系 Red Hat Advanced Cluster Security for Kubernetes,并带有 AdmissionReview 请求,用于工作负载创建事件。

admissionControl.listenOnUpdates

当您将此参数设置为 false 时,Red Hat Advanced Cluster Security for Kubernetes 会以 Kubernetes API 服务器不发送对象更新事件的方式创建 ValidatingWebhookConfiguration。由于对象更新的卷通常高于对象创建的,所以保留此项为 false 会限制准入控制服务的负载,并减少准入控制服务的几率。

admissionControl.listenOnEvents

此设置控制集群是否被配置为联系 Red Hat Advanced Cluster Security for Kubernetes,带有 AdmissionReview 请求用于 Kubernetes execportforward 事件。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 门户中的 Contact image scanners 选项对应。

admissionControl.dynamic.disableBypass

将它设置为 true 以禁用绕过 Admission 控制器。

admissionControl.dynamic.timeout

在将其标记为失败前,使用此参数指定 RHACS 必须等待准入审核的最大秒数。如果准入 Webhook 在超时时间结束前没有收到请求的信息,它会失败,但处于打开状态时,它仍然允许操作成功。例如,准入控制器允许创建部署,即使扫描超时,RHACS 无法确定部署是否违反了策略。从版本 4.5 开始,红帽将 RHACS 准入控制器 webhook 的默认超时设置从 20 秒减少到 10 秒,从而导致 ValidatingWebhookConfiguration 的有效超时时间为 12 秒。此更改不会影响 OpenShift Container Platform 用户,因为 OpenShift Container Platform 在 13 秒内封装超时。

admissionControl.resources.requests.memory

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

admissionControl.resources.requests.cpu

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

admissionControl.resources.limits.memory

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

admissionControl.resources.limits.cpu

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

admissionControl.nodeSelector

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

admissionControl.tolerations

如果节点选择器选择污点节点,请使用此参数指定污点容限键、值以及 Admission Control 的效果。此参数主要用于基础架构节点。

admissionControl.serviceTLS.cert

Admission Control 使用的内部服务到服务的 TLS 证书。

admissionControl.serviceTLS.key

Admission Control 使用的内部服务对服务的 TLS 证书密钥。

registryOverride

使用此参数覆盖默认的 docker.io registry。如果使用其他 registry,请指定 registry 的名称。

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 和 Admission 控制器的编配 secret 创建。

collector.slimMode

已弃用。如果要使用 slim Collector 镜像部署 Collector,请指定 true

sensor.resources

Sensor 的资源规格。

admissionControl.resources

Admission 控制器的资源规格。

collector.resources

Collector 的资源规格。

collector.complianceResources

Collector 的 Compliance 容器的资源规格。

exposeMonitoring

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

auditLogs.disableCollection

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

scanner.disable

如果将此选项设置为 false,Red Hat Advanced Cluster Security for Kubernetes 会在安全集群中部署一个 Scanner-slim 和 Scanner DB,以允许在集成的 OpenShift 镜像 registry 上扫描镜像。OpenShift Container Platform 和 Kubernetes 安全集群中支持启用 Scanner-slim。默认值为 true

scanner.dbTolerations

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

scanner.replicas

Collector 的 Compliance 容器的资源规格。

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 组件之间的通信。如果禁用创建默认策略,则必须创建自己的网络策略来允许此通信。

4.4.2.2.1.1. 环境变量

您可以采用以下格式指定 Sensor 和 Admission Controller 的环境变量:

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

通过 customize 设置,您可以为此 Helm Chart 创建的所有对象指定自定义 Kubernetes 元数据(标签和注解)以及工作负载的其他 pod 标签、Pod 注解和容器环境变量。

配置是分层的,在更通用范围(例如,所有对象)中定义的元数据被覆盖为更通用范围的元数据(例如,仅适用于 Sensor 部署)。

4.4.2.2.2. 使用自定义安装 secured-cluster-services Helm chart

配置 values-public.yamlvalues-private.yaml 文件后,安装 secure-cluster-services Helm chart 以部署针对每个集群和每个节点组件:

  • Sensor
  • 准入控制器
  • Collector
  • scanner:当安装了 StackRox Scanner 时,对于安全集群是可选的
  • scanner DB:当安装了 StackRox Scanner 时,对于安全集群是可选的
  • 扫描程序 V4 Indexer 和 Scanner V4 DB:在安装 Scanner V4 时对于安全集群是可选的

先决条件

  • 您必须已为集群生成 RHACS init 捆绑包。
  • 您必须有权访问 Red Hat Container Registry 和 pull secret 进行身份验证。有关从 registry.redhat.io 下载镜像的详情,请参考 Red Hat Container Registry Authentication
  • 您必须有用于公开 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 身份验证包含 pull secret 的用户名。
    3
    包括用于 Red Hat Container Registry 身份验证的 pull secret 的密码。
注意

要使用持续集成(CI)系统部署 secure-cluster-services Helm Chart,请将 init 捆绑包 YAML 文件作为环境变量传递给 helm install 命令:

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

4.4.2.3. 在部署 secure-cluster-services Helm chart 后更改配置选项

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

当使用 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 命令时再次执行该操作,例如,使用带有 helm upgrade 命令的 --reuse-values 标志。

流程

  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 参数。

4.4.3. 使用 roxctl CLI 在安全集群中安装 RHACS

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

先决条件

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

流程

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

4.4.3.1. 安装 roxctl CLI

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

4.4.3.1.1. 在 Linux 中安装 roxctl CLI

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

注意

用于 Linux 的 roxctl CLI 可用于 amd 64、rm64、 ppc64les390x 架构。

流程

  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.0/bin/Linux/roxctl${arch}"
  3. 使 roxctl 二进制文件可执行:

    $ chmod +x roxctl
  4. roxctl 二进制文件放到 PATH 中的目录中:

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

    $ echo $PATH

验证

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

    $ roxctl version
4.4.3.1.2. 在 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.0/bin/Darwin/roxctl${arch}"
  3. 从二进制文件中删除所有扩展属性:

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

    $ chmod +x roxctl
  5. roxctl 二进制文件放到 PATH 中的目录中:

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

    $ echo $PATH

验证

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

    $ roxctl version
4.4.3.1.3. 在 Windows 上安装 roxctl CLI

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

注意

用于 Windows 的 roxctl CLI 可用于 amd64 架构。

流程

  • 下载 roxctl CLI:

    $ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.6.0/bin/Windows/roxctl.exe

验证

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

    $ roxctl version

4.4.3.2. 安装传感器(Sensor)

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

要使用清单安装方法执行安装,请只按照以下步骤之一 操作:

  • 使用 RHACS Web 门户下载集群捆绑包,然后提取并运行传感器脚本。
  • 使用 roxctl CLI 为 OpenShift Container Platform 集群生成所需的 sensor 配置,并将其与 Central 实例关联。

先决条件

  • 您必须已安装了 Central 服务,或者您可以通过选择 Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service)上的 ACS 实例 来访问 Central 服务。
4.4.3.2.1. 使用 Web 门户的清单安装方法

流程

  1. 在 RHACS 门户中的安全集群中,进入 Platform Configuration Clusters
  2. 选择 Secure a cluster Legacy installation method
  3. 为集群指定一个名称。
  4. 根据您要部署 Sensor 的位置,为字段提供适当的值。

    • 如果您要在同一集群中部署 Sensor,请接受所有字段的默认值。
    • 如果您要部署到不同的集群中,请将 central.stackrox.svc:443 替换为负载均衡器、节点端口或其他地址,包括端口号,可以被其他集群访问。
    • 如果您使用一个支持非 gRPC 的负载均衡器,如 HAProxy、AWS Application Load Balancer (ALB) 或 AWS Elastic Load Balancing (ELB),请使用 WebSocket Secure (wss) 协议。使用 ws

      • 使用 wss:// 为地址加上前缀。
      • 在地址后添加端口号,例如 ws://stackrox-central.example.com:443
  5. Next 以继续 Sensor 设置。
  6. Download YAML File and Keys 下载集群捆绑包(zip 归档)。

    重要

    集群捆绑包 zip 存档包括每个集群的唯一配置和密钥。不要在另一个集群中重复使用相同的文件。

  7. 从可访问被监控的集群的系统中,从集群捆绑包中提取并运行 sensor 脚本:

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

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

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

4.4.3.2.2. 使用 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 后,它会联系中心并提供集群信息。

验证

  1. 返回 RHACS 门户并检查部署是否成功。如果成功,当在 Platform Configuration Clusters 中查看集群列表时,集群状态会显示一个绿色勾号和 Healthy 状态。如果您没有看到绿色勾选标记,请使用以下命令检查问题:

    • 在 OpenShift Container Platform 中输入以下命令:

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

      $ kubectl get pod -n stackrox -w
  2. Finish 关闭窗口。

安装后,Sensor 开始向 RHACS 报告安全信息,RHACS 门户仪表板开始显示部署、镜像和策略违反情况。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.