返回更新列表
新发布Sep 12, 2026

stackrox v4.11.4-rc.1

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
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh)

StackRox 的默认部署具有特定的 CPU 和内存请求,如果资源不足,可能会在小型(例如开发)集群上失败。你可以使用 --small 命令行选项,以便在资源有限的小型集群上安装 StackRox。不建议在生产部署中使用此选项。

/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 创建 init bundle,最后在同一集群上安装 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. 创建集群配置和服务身份 (init bundle)
  4. 使用该配置和这些凭据部署 StackRox Secured Cluster Services(此步骤可以多次执行,以将更多集群添加到 StackRox Central Service)
安装 StackRox Central Services

首先,StackRox Central Services 将被添加到你的 Kubernetes 集群。这包括 UI 和 Scanner。首先,将 stackrox/helm-charts/opensource 仓库添加到 Helm。

helm repo add stackrox https://raw.githubusercontent.com/stackrox/helm-charts/main/opensource/

要查看仓库中所有可用的 Helm chart,请运行以下命令(你可以添加 --devel 选项,以便同时显示非发布版本)

helm search repo stackrox

要安装 stackrox-central-services,你需要一个安全密码。稍后登录 UI 以及创建 init bundle 时都会用到这个密码。

ROX_ADMIN_PASSWORD="$(openssl rand -base64 20 | tr -d '/=+')"

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

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

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

默认 Central 安装

如果你要在规模合理的集群中安装,请使用默认安装命令:

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 因资源不足而一直处于 pending 状态,请改用以下命令来降低 stackrox-central-services 的资源需求。请注意,这些降低后的资源配置并不适合生产环境。

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
安装 StackRox 安全集群服务

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

在 CLUSTER_NAME shell 变量中为你的安全集群设置一个有意义的集群名称。该集群将在 StackRox UI 的集群列表中以此名称标识。

CLUSTER_NAME="my-secured-cluster"

设置 Secured Cluster Services 应与之通信的 Central 端点。如果你将 stackrox-secured-cluster-services 部署在与 stackrox-central-services 相同的集群上,请保持原样,否则请将该值更改为可访问 Central 的端点。

CENTRAL_ENDPOINT="central.stackrox.svc:443"

生成一个包含初始化密钥的 init bundle。该 init bundle 将保存到 stackrox-init-bundle.yaml 中,你将使用它来配置安全集群,如下所示。

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(使用你刚刚生成的 init bundle)。

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

默认 Secured Cluster Services 安装

如果你要在规模合理的集群中安装,请使用默认安装命令:

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"

在资源有限的集群中安装 Secured Cluster Services

如果你是在单节点集群中安装,或者默认安装导致 Pod 因资源不足而一直处于 pending 状态,请改用以下命令来降低 stackrox-secured-cluster-services 的资源需求。请注意,这些降低后的资源配置不适用于生产环境。

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 部署到 stackrox 命名空间中的 Kubernetes 集群。如果你想安装特定版本,请确保在 MAIN_IMAGE_TAG 中定义/设置它,否则将安装最新的 nightly 构建。

分类