返回更新列表
新发布Jul 30, 2026

stackrox v4.11.2

StackRox Kubernetes安全平台对容器环境进行风险分析,提供可见性和运行时警报,并提供建议以通过加固环境来主动提高安全性。

分享

目录


StackRox Kubernetes 安全平台

StackRox Kubernetes 安全平台对容器环境进行风险分析,提供可见性和运行时告警,并通过强化环境来主动提高安全性。StackRox 集成了容器生命周期的每个阶段:构建、部署和运行时。

StackRox Kubernetes 安全平台基于原名为 Prevent 的产品构建,该产品本身曾被称为 Mitigate 和 Apollo。您可能会在代码或文档中找到对这些先前名称的引用。


社区

您可以通过 Slack (#stackrox) 联系我们。其他方式,请访问我们的社区中心 stackrox.io。

有关活动更新、博客和其他资源,请关注 StackRox 社区网站 stackrox.io。

关于 StackRox 行为准则。

要报告漏洞或错误。


部署 StackRox

使用 Operator 安装

从 4.10 版本开始,可以使用 operator 安装 StackRox。

[!WARNING] 以下安装方法已弃用。

使用 Helm 快速安装

StackRox 提供通过 Helm Charts 快速安装。请遵循 Helm 安装指南 在你的系统上获取 helm CLI。然后运行 helm 快速安装脚本,或前往使用 Helm 手动安装章节查看配置选项。

通过 Helm 安装脚本安装 StackRox```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) ``` StackRox的默认部署有一定的CPU和内存请求,如果资源不足,可能会在小(例如开发)集群上失败。你可以使用`--small`命令行选项在资源有限的小集群上安装StackRox。不建议在生产部署中使用此选项。```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) --small ``` 脚本会添加 StackRox Helm 仓库、生成管理员密码、安装 stackrox-central-services、创建用于配置 stackrox-secured-cluster-services 的初始化捆绑包,最后在同一集群上安装 stackrox-secured-cluster-services。

最终,脚本会自动打开浏览器并让你登录 StackRox。由于证书是自签名的,可能会显示证书警告。请参阅访问 StackRox 用户界面 (UI) 部分了解更多关于警告的信息。认证后,你可以通过 https://localhost:8000/main/dashboard 访问仪表板。

使用 Helm 手动安装

按照 Helm 安装指南 在你的系统上获取 helm CLI。

使用 Helm 部署包括 4 个步骤:

  1. 将 StackRox 仓库添加到 Helm
  2. 使用 helm 启动 StackRox Central Services
  3. 创建集群配置和服务标识(初始化捆绑包)
  4. 使用该配置和凭证部署 StackRox Secured Cluster Services(此步骤可多次执行,以向 StackRox Central Service 添加更多集群)
安装 StackRox Central Services

首先,StackRox Central Services 将被添加到你的 Kubernetes 集群中。这包括 UI 和 Scanner。首先,将 stackrox/helm-charts/opensource 仓库添加到 Helm。```sh helm repo add stackrox https://raw.githubusercontent.com/stackrox/helm-charts/main/opensource/

若要查看仓库中所有可用的 Helm Chart,请运行(可以添加 `--devel` 选项以显示非发布版本)```sh
helm search repo stackrox

要安装 stackrox-central-services,您需要一个安全密码。该密码稍后在 UI 登录和创建 init bundle 时会用到。```sh ROX_ADMIN_PASSWORD="$(openssl rand -base64 20 | tr -d '/=+')"

从这里开始,您可以安装 stackrox-central-services 以在集群中部署 Central 和 Scanner 组件。

> **注意:**
> 即使您计划保护多个集群,也只需要部署一个 stackrox-central-services 实例。

要执行安装,请根据集群大小选择以下命令之一:

#### 默认 Central 安装

如果您要在大小合适的集群中安装,请使用默认安装命令:```sh
helm upgrade --install -n stackrox --create-namespace stackrox-central-services \
  stackrox/stackrox-central-services \
  --set central.adminPassword.value="${ROX_ADMIN_PASSWORD}" \
  --set central.persistence.none="true"

在资源有限的集群中集中安装

如果您在单节点集群中安装,或者默认安装由于资源不足导致 Pod 卡在挂起状态,请改用以下命令来降低 stackrox-central-services 的资源需求。请记住,这些精简的资源设置不适合生产环境。```sh helm upgrade --install -n stackrox --create-namespace stackrox-central-services
stackrox/stackrox-central-services
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}"
--set central.persistence.none="true"
--set central.resources.requests.memory=1Gi
--set central.resources.requests.cpu=1
--set central.resources.limits.memory=4Gi
--set central.resources.limits.cpu=1
--set central.db.resources.requests.memory=1Gi
--set central.db.resources.requests.cpu=500m
--set central.db.resources.limits.memory=4Gi
--set central.db.resources.limits.cpu=1
--set scanner.autoscaling.disable=true
--set scanner.replicas=1
--set scanner.resources.requests.memory=500Mi
--set scanner.resources.requests.cpu=500m
--set scanner.resources.limits.memory=2500Mi
--set scanner.resources.limits.cpu=2000m

</details>

<details><summary>安装 StackRox 安全集群服务</summary>

接下来,需要部署安全集群组件,用于从 Kubernetes 节点收集信息。

在 `CLUSTER_NAME` shell 变量中为安全集群设置一个有意义的集群名称。该集群将在 StackRox UI 的集群列表中以此名称标识。```sh
CLUSTER_NAME="my-secured-cluster"

设置安全集群服务应与Central通信的端点。如果在与stackrox-central-services相同的集群上部署stackrox-secured-cluster-services,请保持原样,否则将值更改为Central可访问的端点。```sh CENTRAL_ENDPOINT="central.stackrox.svc:443"

生成一个包含初始化秘密的 init bundle。init bundle 将保存在 `stackrox-init-bundle.yaml` 中,你将使用它来配置安全集群,如下所示。```sh
echo "$ROX_ADMIN_PASSWORD" | \
kubectl -n stackrox exec -i deploy/central -- bash -c 'ROX_ADMIN_PASSWORD=$(cat) roxctl --insecure-skip-tls-verify \
  central init-bundles generate stackrox-init-bundle --output -' > stackrox-init-bundle.yaml

然后安装 stackrox-secured-cluster-services(使用你刚刚生成的初始化包)。

要执行安装,请根据你的集群大小选择以下命令之一。

默认的安全集群服务安装

如果你在一个规模适中的集群中安装,请使用默认的安装命令:```sh helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services
stackrox/stackrox-secured-cluster-services
-f stackrox-init-bundle.yaml
--set clusterName="$CLUSTER_NAME"
--set centralEndpoint="$CENTRAL_ENDPOINT"

#### 在资源受限的集群中安装安全集群服务

如果你在单节点集群中安装,或者默认安装导致 Pod 因资源不足而卡在 Pending 状态,请改用以下命令以降低 stackrox-secured-cluster-services 的资源需求。请记住,这些降低后的资源设置不适合生产环境。```sh
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services \
  stackrox/stackrox-secured-cluster-services \
  -f stackrox-init-bundle.yaml \
  --set clusterName="$CLUSTER_NAME" \
  --set centralEndpoint="$CENTRAL_ENDPOINT" \
  --set sensor.resources.requests.memory=500Mi \
  --set sensor.resources.requests.cpu=500m \
  --set sensor.resources.limits.memory=500Mi \
  --set sensor.resources.limits.cpu=500m
关于 Helm Chart 的附加信息

要进一步自定义 Helm 安装,请参考以下文档:

通过脚本安装

deploy 脚本将执行以下操作:

  1. 启动 StackRox Central Services
  2. 创建集群配置和服务身份
  3. 使用该配置和凭据部署 StackRox Secured Cluster Services

您可以在 shell 中设置环境变量 MAIN_IMAGE_TAG,以确保获得您想要的版本。

如果您检出了一个提交,脚本将默认启动与该提交对应的镜像。如果需要,系统会自动拉取该镜像。

后续步骤因编排器而异。

Kubernetes 发行版(EKS、AKS、GKE)

点击展开

按照以下指南,快速将特定版本的 StackRox 部署到您的 Kubernetes 集群的 stackrox 命名空间中。如果您想安装特定版本,请确保在 MAIN_IMAGE_TAG 中定义/设置它,否则将安装最新的夜间构建版本。

在您选择的工作目录中运行以下命令:``` git clone [email protected]:stackrox/stackrox.git cd stackrox MAIN_IMAGE_TAG=VERSION_TO_USE ./deploy/deploy.sh

几分钟后,所有资源应已部署完成。

分类