$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
Central是一个包含RHACS应用程序管理界面和服务的资源。它处理数据持久性、API交互和RHACS门户访问。您可以使用相同的Central实例来保护多个OpenShift Container Platform或Kubernetes集群。
您可以使用以下方法之一安装Central
使用Helm图表安装(Install using Helm charts)
使用roxctl
CLI安装(除非您有特定安装需求需要使用此方法,否则请勿使用此方法)(Install using the roxctl
CLI (do not use this method unless you have a specific installation need that requires using it))
您可以使用Helm图表安装Central,无需任何自定义,使用默认值,或使用带有附加配置参数自定义的Helm图表。
您可以在Red Hat OpenShift集群上安装RHACS,无需任何自定义。您必须添加Helm图表仓库并安装central-services
Helm图表以安装Central和Scanner的集中式组件。
添加RHACS图表仓库。(Add the RHACS charts repository.)
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
Red Hat Advanced Cluster Security for Kubernetes 的 Helm 仓库包含用于安装不同组件的 Helm Chart,包括:
中心服务 Helm Chart(central-services
),用于安装集中式组件(Central 和 Scanner)。
您只需部署一次集中式组件,即可使用相同的安装来监控多个独立集群。 |
安全集群服务 Helm Chart(secured-cluster-services
),用于安装每个集群和每个节点的组件(Sensor、Admission Controller、Collector 和 Scanner-slim)。
将每个集群组件部署到您要监控的每个集群中,并将每个节点组件部署到您要监控的所有节点中。 |
运行以下命令以验证已添加的 Chart 仓库
$ helm search repo -l rhacs/
使用以下说明安装 central-services
Helm Chart 以部署集中式组件(Central 和 Scanner)。
您必须能够访问 Red Hat Container Registry。有关从 registry.redhat.io
下载镜像的信息,请参见 Red Hat Container Registry 身份验证。
运行以下命令安装中心服务并使用路由公开中心服务
$ helm install -n stackrox \
--create-namespace stackrox-central-services rhacs/central-services \
--set imagePullSecrets.username=<username> \(1)
--set imagePullSecrets.password=<password> \(2)
--set central.exposure.route.enabled=true
1 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的用户名。 |
2 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的密码。 |
或者,运行以下命令安装中心服务并使用负载均衡器公开中心服务
$ helm install -n stackrox \
--create-namespace stackrox-central-services rhacs/central-services \
--set imagePullSecrets.username=<username> \(1)
--set imagePullSecrets.password=<password> \(2)
--set central.exposure.loadBalancer.enabled=true
1 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的用户名。 |
2 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的密码。 |
或者,运行以下命令安装中心服务并使用端口转发公开中心服务
$ helm install -n stackrox \
--create-namespace stackrox-central-services rhacs/central-services \
--set imagePullSecrets.username=<username> \(1)
--set imagePullSecrets.password=<password> (2)
1 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的用户名。 |
2 | 包含您用于 Red Hat Container Registry 身份验证的拉取密钥的密码。 |
|
安装命令的输出包括:
自动生成的管理员密码。
有关存储所有配置值的说明。
Helm 生成的任何警告。
您可以使用 Helm Chart 配置参数以及 helm install
和 helm upgrade
命令在 Red Hat OpenShift 集群上安装 RHACS 并进行自定义。您可以使用 --set
选项或创建 YAML 配置文件来指定这些参数。
创建以下文件以配置用于安装 Red Hat Advanced Cluster Security for Kubernetes 的 Helm Chart:
公共配置文件 values-public.yaml
:使用此文件保存所有非敏感配置选项。
私有配置文件 values-private.yaml
:使用此文件保存所有敏感配置选项。确保安全地存储此文件。
配置文件 declarative-config-values.yaml
:如果您使用声明性配置将声明性配置挂载添加到 Central,请创建此文件。
本节列出了 values-private.yaml
文件的可配置参数。这些参数没有默认值。
从注册表拉取镜像所需的凭据取决于以下因素:
如果您使用的是自定义注册表,则必须指定以下参数:
imagePullSecrets.username
imagePullSecrets.password
image.registry
如果您不使用用户名和密码登录到自定义注册表,则必须指定以下参数之一:
imagePullSecrets.allowNone
imagePullSecrets.useExisting
imagePullSecrets.useFromDefaultServiceAccount
参数 | 描述 |
---|---|
|
用于登录注册表的帐户的用户名。 |
|
用于登录注册表的帐户的密码。 |
|
如果您使用的是自定义注册表并且它允许在没有凭据的情况下拉取镜像,请使用 |
|
以逗号分隔的密钥列表作为值。例如, |
|
如果您已在目标命名空间中的默认服务帐户中配置了具有足够范围的镜像拉取密钥,请使用 |
如果您在需要代理才能连接到外部服务的集群中安装 Red Hat Advanced Cluster Security for Kubernetes,则必须使用 proxyConfig
参数指定您的代理配置。例如:
env:
proxyConfig: |
url: http://proxy.name:port
username: username
password: password
excludes:
- some.domain
参数 | 描述 |
---|---|
|
您的代理配置。 |
Central 的可配置参数。
对于新的安装,您可以跳过以下参数:
central.jwtSigner.key
central.serviceTLS.cert
central.serviceTLS.key
central.adminPassword.value
central.adminPassword.htpasswd
central.db.serviceTLS.cert
central.db.serviceTLS.key
central.db.password.value
如果您未为这些参数指定值,则 Helm Chart 将自动为其生成值。
如果您想修改这些值,您可以使用 helm upgrade
命令并使用 --set
选项指定这些值。
对于设置管理员密码,您只能使用 |
参数 | 描述 |
---|---|
|
RHACS 应该用于签署用于身份验证的 JSON Web 令牌 (JWT) 的私钥。 |
|
Central 服务应用于部署 Central 的内部证书。 |
|
Central 服务应使用的内部证书的私钥。 |
|
Central 应该使用的面向用户的证书。RHACS 使用此证书用于 RHACS 门户。
|
|
Central 应该使用的面向用户的证书的私钥。
|
|
Central 数据库的连接密码。 |
|
登录 RHACS 的管理员密码。 |
|
登录 RHACS 的管理员密码。此密码使用 bcrypt 以哈希格式存储。 |
|
Central DB 服务部署 Central DB 应使用的内部证书。 |
|
Central DB 服务应使用的内部证书的私钥。 |
|
用于连接 Central DB 的密码。 |
如果您使用的是
|
StackRox 扫描器和扫描器 V4 的可配置参数。
对于全新安装,您可以跳过以下参数,Helm 图表会自动为其生成值。否则,如果您要升级到新版本,请指定以下参数的值
scanner.dbPassword.value
scanner.serviceTLS.cert
scanner.serviceTLS.key
scanner.dbServiceTLS.cert
scanner.dbServiceTLS.key
scannerV4.db.password.value
scannerV4.indexer.serviceTLS.cert
scannerV4.indexer.serviceTLS.key
scannerV4.matcher.serviceTLS.cert
scannerV4.matcher.serviceTLS.key
scannerV4.db.serviceTLS.cert
scannerV4.db.serviceTLS.key
参数 | 描述 |
---|---|
|
用于与扫描器数据库进行身份验证的密码。请勿修改此参数,因为 RHACS 会在内部自动创建并使用其值。 |
|
StackRox 扫描器服务部署 StackRox 扫描器应使用的内部证书。 |
|
扫描器服务应使用的内部证书的私钥。 |
|
扫描器数据库服务部署扫描器数据库应使用的内部证书。 |
|
扫描器数据库服务应使用的内部证书的私钥。 |
|
用于与扫描器 V4 数据库进行身份验证的密码。请勿修改此参数,因为 RHACS 会在内部自动创建并使用其值。 |
|
扫描器 V4 数据库服务部署扫描器 V4 数据库应使用的内部证书。 |
|
扫描器 V4 数据库服务应使用的内部证书的私钥。 |
|
扫描器 V4 服务部署扫描器 V4 索引器应使用的内部证书。 |
|
扫描器 V4 索引器应使用的内部证书的私钥。 |
|
扫描器 V4 服务部署扫描器 V4 匹配器应使用的内部证书。 |
|
扫描器 V4 匹配器应使用的内部证书的私钥。 |
本节列出了 values-public.yaml
文件的可配置参数。
镜像拉取密钥是从您的注册表拉取镜像所需的凭据。
参数 | 描述 |
---|---|
|
如果您使用的是自定义注册表并且它允许在没有凭据的情况下拉取镜像,请使用 |
|
以逗号分隔的密钥列表作为值。例如, |
|
如果您已在目标命名空间中的默认服务帐户中配置了具有足够范围的镜像拉取密钥,请使用 |
Image声明了设置主注册表的配置,Helm图表使用它来解析central.image
、scanner.image
、scanner.dbImage
、scannerV4.image
和scannerV4.db.image
参数的镜像。
参数 | 描述 |
---|---|
|
您的镜像注册表的地址。可以使用主机名,例如 |
Red Hat Advanced Cluster Security for Kubernetes 会自动检测您的集群环境并设置 env.openshift
、env.istio
和 env.platform
的值。仅当要覆盖自动集群环境检测时才设置这些值。
参数 | 描述 |
---|---|
|
在 OpenShift Container Platform 集群上安装并覆盖自动集群环境检测时,使用 |
|
在启用 Istio 的集群上安装并覆盖自动集群环境检测时,使用 |
|
安装 RHACS 的平台。将其值设置为 |
|
使用 |
RHACS 自动引用系统根证书以进行信任。当 Central、StackRox 扫描器或扫描器 V4 必须联系使用贵组织或全球可信赖合作伙伴组织颁发的证书的服务时,您可以通过使用以下参数指定要信任的根证书颁发机构来添加对这些服务的信任:
参数 | 描述 |
---|---|
|
指定要信任的根证书颁发机构的 PEM 编码证书。 |
为了在网络级别提供安全性,RHACS 会在安装 Central 的命名空间中创建默认的 NetworkPolicy
资源。这些网络策略允许在特定端口上对特定组件进行入口访问。如果您不希望 RHACS 创建这些策略,请将此参数设置为 Disabled
。默认值为 Enabled
。
禁用默认网络策略的创建可能会中断 RHACS 组件之间的通信。如果您禁用默认策略的创建,则必须创建您自己的网络策略以允许此通信。 |
参数 | 描述 |
---|---|
|
指定 RHACS 是否创建默认网络策略以允许组件之间的通信。要创建您自己的网络策略,请将此参数设置为 |
Central 的可配置参数。
用于公开 Central 部署以进行外部访问。您必须指定一个参数,即 central.exposure.loadBalancer
、central.exposure.nodePort
或 central.exposure.route
。当您未为这些参数指定任何值时,您必须手动公开 Central 或使用端口转发访问它。
下表包含外部 PostgreSQL 数据库的设置。
参数 | 描述 |
---|---|
|
挂载用于声明性配置的 ConfigMap。 |
|
挂载用于声明性配置的 Secret。 |
|
Central 的端点配置选项。 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 Central 指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 Central 指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
指定 |
|
自定义注册表,覆盖Central镜像的全局 |
|
自定义镜像名称,覆盖默认的Central镜像名称( |
|
自定义镜像标签,覆盖Central镜像的默认标签。如果您在新安装过程中指定了自己的镜像标签,则在使用 |
|
包含注册表地址、镜像名称和镜像标签在内的Central镜像完整引用。设置此参数的值将覆盖 |
|
Central的内存请求。 |
|
Central的CPU请求。 |
|
Central的内存限制。 |
|
Central的CPU限制。 |
|
使用 |
|
公开Central的端口号。默认端口号为443。 |
|
使用 |
|
公开Central的端口号。跳过此参数时,OpenShift Container Platform会自动分配端口号。Red Hat建议,如果您使用节点端口公开RHACS,请不要指定端口号。 |
|
使用 |
|
使用 |
|
Central用于连接到数据库的连接字符串。仅当
|
|
要建立的数据库连接的最小数量。 |
|
要建立的数据库连接的最大数量。 |
|
单个查询或事务可以针对数据库处于活动状态的毫秒数。 |
|
如“附加资源”中的PostgreSQL文档中所述,用于Central DB的postgresql.conf。 |
|
如“附加资源”中的PostgreSQL文档中所述,用于Central DB的pg_hba.conf。 |
|
将节点选择器标签指定为 |
|
自定义注册表,覆盖Central DB镜像的全局 |
|
自定义镜像名称,覆盖默认的Central DB镜像名称( |
|
自定义镜像标签,覆盖Central DB镜像的默认标签。如果您在新安装过程中指定了自己的镜像标签,则在使用 |
|
包含注册表地址、镜像名称和镜像标签在内的Central DB镜像完整引用。设置此参数的值将覆盖 |
|
Central DB的内存请求。 |
|
Central DB的CPU请求。 |
|
Central DB的内存限制。 |
|
Central DB的CPU限制。 |
|
RHACS应该在节点上创建数据库卷的路径。Red Hat不建议使用此选项。 |
|
您正在使用的持久卷声明 (PVC) 的名称。 |
|
使用 |
|
由指定声明管理的持久卷的大小(以GiB为单位)。 |
下表列出了StackRox扫描器的可配置参数。这是用于节点和平台扫描的扫描器。如果未启用扫描器V4,则StackRox扫描器还会执行镜像扫描。从4.4版开始,可以启用扫描器V4来提供镜像扫描。有关扫描器V4参数,请参见下表。
参数 | 描述 |
---|---|
|
使用 |
|
指定 |
|
要为StackRox扫描器部署创建的副本数量。当您将其与 |
|
配置StackRox扫描器的日志级别。Red Hat建议您不要更改默认日志级别值( |
|
将节点选择器标签指定为 |
|
如果节点选择器选择了受污染的节点,请使用此参数为StackRox扫描器指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
使用 |
|
自动缩放的最小副本数。 |
|
自动缩放的最大副本数。 |
|
StackRox扫描器的内存请求。 |
|
StackRox扫描器的CPU请求。 |
|
StackRox Scanner 的内存限制。 |
|
StackRox Scanner 的 CPU 限制。 |
|
StackRox Scanner 数据库部署的内存请求。 |
|
StackRox Scanner 数据库部署的 CPU 请求。 |
|
StackRox Scanner 数据库部署的内存限制。 |
|
StackRox Scanner 数据库部署的 CPU 限制。 |
|
StackRox Scanner 镜像的自定义注册表。 |
|
覆盖默认 StackRox Scanner 镜像名称 ( |
|
StackRox Scanner 数据库镜像的自定义注册表。 |
|
覆盖默认 StackRox Scanner 数据库镜像名称 ( |
|
指定节点选择器标签为 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 StackRox Scanner 数据库指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
下表列出了 Scanner V4 的可配置参数。
参数 | 描述 |
---|---|
|
用于管理 Scanner V4 持久数据的 PVC 名称。如果不存在具有给定名称的 PVC,则会创建它。如果未设置,则默认值为 |
|
用于管理 Scanner V4 持久数据的 PVC 的大小。 |
|
用于 PVC 的存储类名称。如果您的集群未配置默认存储类,则必须为此参数提供一个值。 |
|
使用 |
|
指定 |
|
要为 Scanner V4 Indexer 部署创建的副本数。当与 |
|
配置 Scanner V4 Indexer 的日志级别。Red Hat 建议您不要更改默认日志级别值 ( |
|
指定节点选择器标签为 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 Scanner V4 Indexer 指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
使用 |
|
自动缩放的最小副本数。 |
|
自动缩放的最大副本数。 |
|
Scanner V4 Indexer 的内存请求。 |
|
Scanner V4 Indexer 的 CPU 请求。 |
|
Scanner V4 Indexer 的内存限制。 |
|
Scanner V4 Indexer 的 CPU 限制。 |
|
要为 Scanner V4 Matcher 部署创建的副本数。当与 |
|
Red Hat 建议您不要更改默认日志级别值 ( |
|
指定节点选择器标签为 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 Scanner V4 Matcher 指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
使用 |
|
自动缩放的最小副本数。 |
|
自动缩放的最大副本数。 |
|
Scanner V4 Matcher 的内存请求。 |
|
Scanner V4 Matcher 的 CPU 请求。 |
|
Scanner V4 数据库部署的内存请求。 |
|
Scanner V4 数据库部署的 CPU 请求。 |
|
Scanner V4 数据库部署的内存限制。 |
|
Scanner V4 数据库部署的 CPU 限制。 |
|
指定节点选择器标签为 |
|
如果节点选择器选择了受污染的节点,请使用此参数为 Scanner V4 数据库指定污点容忍键、值和效果。此参数主要用于基础设施节点。 |
|
Scanner V4 数据库镜像的自定义注册表。 |
|
覆盖默认 Scanner V4 数据库镜像名称 ( |
|
Scanner V4 镜像的自定义注册表。 |
|
覆盖默认 Scanner V4 镜像名称 ( |
使用这些参数为 RHACS 创建的所有对象指定附加属性。
参数 | 描述 |
---|---|
|
附加到所有对象的自定义标签。 |
|
附加到所有对象的自定义注释。 |
|
附加到所有部署的自定义标签。 |
|
附加到所有部署的自定义注释。 |
|
所有对象中所有容器的自定义环境变量。 |
|
用于附加到 Central 创建的所有对象的自定义标签。 |
|
用于附加到 Central 创建的所有对象的自定义注释。 |
|
用于附加到所有 Central 部署的自定义标签。 |
|
用于附加到所有 Central 部署的自定义注释。 |
|
所有 Central 容器的自定义环境变量。 |
|
用于附加到 Scanner 创建的所有对象的自定义标签。 |
|
用于附加到 Scanner 创建的所有对象的自定义注释。 |
|
用于附加到所有 Scanner 部署的自定义标签。 |
|
用于附加到所有 Scanner 部署的自定义注释。 |
|
所有 Scanner 容器的自定义环境变量。 |
|
用于附加到 Scanner 数据库创建的所有对象的自定义标签。 |
|
用于附加到 Scanner 数据库创建的所有对象的自定义注释。 |
|
用于附加到所有 Scanner 数据库部署的自定义标签。 |
|
用于附加到所有 Scanner 数据库部署的自定义注释。 |
|
所有 Scanner 数据库容器的自定义环境变量。 |
|
用于附加到 Scanner V4 Indexer 创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 Indexer 创建的所有对象及其所属 Pod 的自定义注释。 |
|
用于附加到 Scanner V4 Indexer 创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 Indexer 创建的所有对象及其所属 Pod 的自定义注释。 |
|
所有 Scanner V4 Indexer 容器及其所属 Pod 的自定义环境变量。 |
|
用于附加到 Scanner V4 Matcher 创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 Matcher 创建的所有对象及其所属 Pod 的自定义注释。 |
|
用于附加到 Scanner V4 Matcher 创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 Matcher 创建的所有对象及其所属 Pod 的自定义注释。 |
|
所有 Scanner V4 Matcher 容器及其所属 Pod 的自定义环境变量。 |
|
用于附加到 Scanner V4 数据库创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 数据库创建的所有对象及其所属 Pod 的自定义注释。 |
|
用于附加到 Scanner V4 数据库创建的所有对象及其所属 Pod 的自定义标签。 |
|
用于附加到 Scanner V4 数据库创建的所有对象及其所属 Pod 的自定义注释。 |
|
所有 Scanner V4 数据库容器及其所属 Pod 的自定义环境变量。 |
您也可以使用
customize.other.service/*.labels
和 customize.other.service/*.annotations
参数,为所有对象指定标签和注释。
或者,提供具体的服务名称,例如 customize.other.service/central-loadbalancer.labels
和 customize.other.service/central-loadbalancer.annotations
作为参数并设置其值。
要使用声明式配置,必须创建一个 YAML 文件(在此示例中名为“declarative-config-values.yaml”),将声明式配置挂载到 Central。此文件用于 Helm 安装。
使用以下示例作为指导,创建 YAML 文件(在此示例中名为 declarative-config-values.yaml
)
central:
declarativeConfiguration:
mounts:
configMaps:
- declarative-configs
secrets:
- sensitive-declarative-configs
按照“安装 central-services Helm chart”中的文档安装 Central 服务 Helm chart,引用 declarative-config-values.yaml
文件。
配置 values-public.yaml
和 values-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)
1 | 使用 -f 选项指定 YAML 配置文件的路径。 |
可选:如果使用声明式配置,请将 |
部署 central-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
标志。
使用新值更新 values-public.yaml
和 values-private.yaml
配置文件。
运行 helm upgrade
命令并使用 -f
选项指定配置文件
$ helm upgrade -n stackrox \
stackrox-central-services rhacs/central-services \
--reuse-values \(1)
-f <path_to_init_bundle_file \
-f <path_to_values_public.yaml> \
-f <path_to_values_private.yaml>
1 | 如果您修改了未包含在 values_public.yaml 和 values_private.yaml 文件中的值,请包含 --reuse-values 参数。 |
对于生产环境,Red Hat 建议使用 Operator 或 Helm chart 来安装 RHACS。除非您有使用此方法的特定安装需求,否则请不要使用 |
要安装 Red Hat Advanced Cluster Security for Kubernetes,必须通过下载二进制文件来安装 roxctl
CLI。您可以在 Linux、Windows 或 macOS 上安装 roxctl
。
您可以使用以下步骤在 Linux 上安装 roxctl
CLI 二进制文件。
适用于 Linux 的 |
确定目标操作系统的 roxctl
架构
$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
下载 roxctl
CLI
$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.6.1/bin/Linux/roxctl${arch}"
使 roxctl
二进制文件可执行
$ chmod +x roxctl
将 roxctl
二进制文件放置在您的 PATH
环境变量包含的目录中
要检查您的 PATH
,请执行以下命令
$ echo $PATH
验证您已安装的 roxctl
版本
$ roxctl version
您可以使用以下步骤在 macOS 上安装 roxctl
CLI 二进制文件。
适用于 macOS 的 |
确定目标操作系统的 roxctl
架构
$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
下载 roxctl
CLI
$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.6.1/bin/Darwin/roxctl${arch}"
删除二进制文件中的所有扩展属性
$ xattr -c roxctl
使 roxctl
二进制文件可执行
$ chmod +x roxctl
将 roxctl
二进制文件放置在您的 PATH
环境变量包含的目录中
要检查您的 PATH
,请执行以下命令
$ echo $PATH
验证您已安装的 roxctl
版本
$ roxctl version
使用交互式安装程序为您的环境生成所需的密钥、部署配置和部署脚本。
运行交互式安装命令
$ roxctl central generate interactive
使用 |
按 **Enter** 键接受提示的默认值,或根据需要输入自定义值。以下示例显示了交互式安装程序的提示
Path to the backup bundle from which to restore keys and certificates (optional):
PEM cert bundle file (optional): (1)
Disable the administrator password (only use this if you have already configured an IdP for your instance) (default: "false"):
Create PodSecurityPolicy resources (for pre-v1.25 Kubernetes) (default: "false"): (2)
Administrator password (default: autogenerated):
Orchestrator (k8s, openshift):
Default container images settings (rhacs, opensource); it controls repositories from where to download the images, image names and tags format (default: "rhacs"):
The directory to output the deployment bundle to (default: "central-bundle"):
Whether to enable telemetry (default: "true"):
The central-db image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-central-db-rhel8:4.6.0"):
List of secrets to add as declarative configuration mounts in central (default: "[]"): (3)
The method of exposing Central (lb, np, none) (default: "none"): (4)
The main image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8:4.6.0"):
Whether to run StackRox in offline mode, which avoids reaching out to the Internet (default: "false"):
List of config maps to add as declarative configuration mounts in central (default: "[]"): (5)
The deployment tool to use (kubectl, helm, helm-values) (default: "kubectl"):
Istio version when deploying into an Istio-enabled cluster (leave empty when not running Istio) (optional):
The scanner-db image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8:4.6.0"):
The scanner image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8:4.6.0"):
The scanner-v4-db image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-db-rhel8:4.6.0"):
The scanner-v4 image to use (if unset, a default will be used according to --image-defaults) (default: "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-rhel8:4.6.0"):
External volume type (hostpath, pvc): hostpath
Path on the host (default: "/var/lib/stackrox-central"):
Node selector key (e.g. kubernetes.io/hostname):
Node selector value:
1 | 如果要添加自定义 TLS 证书,请提供 PEM 编码证书的文件路径。当您指定自定义证书时,交互式安装程序还会提示您提供您正在使用的自定义证书的 PEM 私钥。 |
2 | 如果您运行的是 Kubernetes 1.25 或更高版本,请将此值设置为 false 。 |
3 | 有关使用声明性配置进行身份验证和授权的更多信息,请参阅“Red Hat Advanced Cluster Security for Kubernetes”中的“用于身份验证和授权资源的声明性配置”。 |
4 | 要使用 RHACS 门户,您必须使用路由、负载均衡器或节点端口公开 Central。 |
5 | 有关使用声明性配置进行身份验证和授权的更多信息,请参阅“Red Hat Advanced Cluster Security for Kubernetes”中的“用于身份验证和授权资源的声明性配置”。 |
在 OpenShift Container Platform 上,要使用 hostPath 卷,您必须修改 SELinux 策略以允许访问主机和容器共享的目录。这是因为 SELinux 默认情况下会阻止目录共享。要修改 SELinux 策略,请运行以下命令
但是,Red Hat 不建议修改 SELinux 策略,而是在 OpenShift Container Platform 上安装时使用 PVC。 |
安装完成后,安装程序将创建一个名为 central-bundle 的文件夹,其中包含部署 Central 所需的 YAML 清单和脚本。此外,它还会显示屏幕上的说明,说明您需要运行哪些脚本才能部署其他受信任的证书颁发机构、Central 和 Scanner,以及登录 RHACS 门户的身份验证说明以及如果您在回答提示时未提供密码,则会显示自动生成的密码。
运行交互式安装程序后,您可以运行 setup.sh
脚本安装 Central。
运行 setup.sh
脚本配置镜像仓库访问。
$ ./central-bundle/central/scripts/setup.sh
要启用策略即代码功能(技术预览版),请手动应用位于 .zip 文件中 helm/chart/crds/config.stackrox.io_securitypolicies.yaml
的 config.stackrox.io
CRD。
策略即代码仅是技术预览版功能。技术预览版功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能无法完全发挥功能。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。 有关 Red Hat 技术预览版功能的支持范围的更多信息,请参阅 技术预览版功能支持范围。 |
要应用 CRD,请运行以下命令
$ kubectl create -f helm/chart/crds/config.stackrox.io_securitypolicies.yaml
创建必要的资源
$ kubectl create -R -f central-bundle/central
检查部署进度
$ kubectl get pod -n stackrox -w
Central 运行后,找到 RHACS 门户 IP 地址并在浏览器中打开它。根据您在回答提示时选择的公开方法,请使用以下方法之一获取 IP 地址。
公开方法 | 命令 | 地址 | 示例 |
---|---|---|---|
路由 |
|
输出中 |
|
节点端口 |
|
任何节点的 IP 或主机名,以及服务显示的端口 |
|
负载均衡器 |
|
为服务显示的 EXTERNAL-IP 或主机名,端口为 443 |
|
无 |
|
|
|
如果您在交互式安装过程中选择了自动生成的密码,则可以运行以下命令查看用于登录 Central 的密码
|