×

您必须根据正在运行的 RHACS 版本遵循特定的 RHACS 升级路径。您还必须在更新 Helm Chart 和执行升级之前备份中心数据库。

如果您使用 Helm Chart 安装了 RHACS,则要升级到最新版本的 RHACS,请执行以下步骤:

  1. 备份中心数据库。

  2. 可选:优化中心的数据库和持久卷声明 (PVC)。

  3. 可选:生成包含中心服务 Helm Chart 根证书的 `values-private.yaml` 配置文件。

  4. 更新 Helm Chart。

  5. 运行 `helm upgrade` 命令。

为确保最佳功能,请使用相同版本的 secured-cluster-services Helm 图表和 central-services Helm 图表。

备份中央数据库

您可以备份中央数据库,并在升级失败或基础架构灾难导致数据丢失的情况下使用该备份进行回滚或数据恢复。

先决条件
  • 您必须拥有一个对 Red Hat Advanced Cluster Security for Kubernetes 所有资源具有 read 权限的 API 令牌。分析师系统角色对所有资源都具有 read 权限。

  • 您已安装 roxctl CLI。

  • 您已配置 ROX_API_TOKENROX_CENTRAL_ADDRESS 环境变量。

步骤
  • 运行备份命令

    $ roxctl -e "$ROX_CENTRAL_ADDRESS" central backup

优化中央数据库和 PVC

当您升级到 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 4.0 时,RHACS 会创建一个名为 central-db 的 PostgreSQL 实例,并使用默认的持久卷声明 (PVC)。您可以选择自定义 central-db 或 PVC 配置。

Red Hat 建议以下最低内存和 CPU 请求

central:
  db:
    resources:
      requests:
        memory: 16Gi
        cpu: 8
      limits:
        memory: 16Gi
        cpu: 8

生成根证书文件

如果您无法访问用于安装 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 的 values-private.yaml 配置文件,请使用以下说明生成包含根证书的 values-private.yaml 配置文件。

如果您已访问您的 values-private.yaml 配置文件,请跳过此步骤。

生成的 values-private.yaml 文件包含敏感的配置选项。确保安全地存储此文件。

步骤
  1. 下载 create_certificate_values_file.sh 脚本。

  2. 使 create_certificate_values_file.sh 脚本可执行

    $ chmod +x create_certificate_values_file.sh
  3. 运行 create_certificate_values_file.sh 脚本文件

    $ create_certificate_values_file.sh values-private.yaml

更新 Helm 图表仓库

在升级到新版本的 Red Hat Advanced Cluster Security for Kubernetes 之前,必须始终更新 Helm 图表。

先决条件
  • 您必须已经添加了 Red Hat Advanced Cluster Security for Kubernetes Helm 图表仓库。

  • 您必须使用 Helm 版本 3.8.3 或更高版本。

步骤
  • 更新 Red Hat Advanced Cluster Security for Kubernetes 图表仓库。

    $ helm repo update
验证
  • 运行以下命令以验证已添加的图表仓库

    $ helm search repo -l rhacs/

运行 Helm 升级命令

您可以使用 helm upgrade 命令更新 Red Hat Advanced Cluster Security for Kubernetes (RHACS)。

先决条件
  • 您必须能够访问用于安装 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 的 values-private.yaml 配置文件。否则,您必须在继续执行这些命令之前生成包含根证书的 values-private.yaml 配置文件。

步骤
  • 运行 helm upgrade 命令并使用 -f 选项指定配置文件

    $ helm upgrade -n stackrox stackrox-central-services \
      rhacs/central-services --version <current-rhacs-version> \(1)
      -f values-private.yaml \
      --set central.db.password.generate=true \
      --set central.db.serviceTLS.generate=true \
      --set central.db.persistence.persistentVolumeClaim.createClaim=true
    1 使用 -f 选项指定 YAML 配置文件的路径。
    $ helm upgrade -n stackrox stackrox-secured-cluster-services \
      rhacs/secured-cluster-services --version <current-rhacs-version> \(1)
      -f values-private.yaml
    1 使用 -f 选项指定 YAML 配置文件的路径。

您可能会使用 --reuse-values 选项在升级期间保留先前配置的 Helm 值。如果您这样做,则必须在升级到下一个版本之前关闭 central-db 的创建。

请参见以下命令示例

$ helm upgrade -n stackrox stackrox-central-services \
  rhacs/central-services --version <current-rhacs-version> --reuse-values \
  -f values-private.yaml \
  --set central.db.password.generate=false \
  --set central.db.serviceTLS.generate=false \
  --set central.db.persistence.persistentVolumeClaim.createClaim=false

回滚 Helm 升级

如果升级到新版本不成功,您可以回滚到早期版本的 Central。

步骤
  1. 运行以下 helm upgrade 命令

    $ helm upgrade -n stackrox \
      stackrox-central-services rhacs/central-services \
      --version <previous_rhacs_74_version> \ (1)
      --set central.db.enabled=false
    1 <previous_rhacs_74_version> 替换为先前安装的 RHACS 版本。
  2. 删除 central-db 持久卷声明 (PVC)

    $ oc -n stackrox delete pvc central-db (1)
    1 如果您使用 Kubernetes,请输入 kubectl 代替 oc