×

Red Hat 为其管理的组件(包括中心服务)提供定期服务更新。这些服务更新包括对 Red Hat Advanced Cluster Security Cloud Service 的新版本的升级。

您必须定期升级安全集群上 RHACS 的版本,以确保与 RHACS Cloud Service 的兼容性。

准备升级

在升级 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 版本之前,请完成以下步骤

  • 如果您正在升级的集群包含SecuredCluster自定义资源 (CR),请将收集方法更改为CORE_BPF。有关更多信息,请参阅“更改收集方法”。

更改收集方法

如果您正在升级的集群包含SecuredCluster CR,则必须确保在升级之前将每个节点的收集设置设置为CORE_BPF

步骤
  1. 在 OpenShift Container Platform Web 控制台中,转到 RHACS Operator 页面。

  2. 在顶部导航菜单中,选择**安全集群**。

  3. 单击实例名称,例如**stackrox-secured-cluster-services**。

  4. 使用以下方法之一更改设置

    • 在**表单视图**中,在**每个节点设置**→**收集器设置**→**收集**下,选择**CORE_BPF**。

    • 点击**YAML**打开YAML编辑器,找到spec.perNode.collector.collection属性。如果其值为KernelModuleEBPF,则将其更改为CORE_BPF

  5. 点击**保存**。

回滚安全集群的Operator升级

要回滚Operator升级,您可以使用CLI或OpenShift Container Platform Web控制台。

在安全集群上,仅在极少数情况下(例如,安全集群存在问题时)才需要回滚Operator升级。

使用CLI回滚Operator升级

您可以使用CLI命令回滚Operator版本。

步骤
  1. 运行以下命令删除OLM订阅:

    • 对于OpenShift Container Platform,运行以下命令:

      $ oc -n rhacs-operator delete subscription rhacs-operator
    • 对于Kubernetes,运行以下命令:

      $ kubectl -n rhacs-operator delete subscription rhacs-operator
  2. 运行以下命令删除集群服务版本 (CSV):

    • 对于OpenShift Container Platform,运行以下命令:

      $ oc -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
    • 对于Kubernetes,运行以下命令:

      $ kubectl -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
  3. 在回滚的通道上安装最新版本的Operator。

使用Web控制台回滚Operator升级

您可以使用OpenShift Container Platform Web控制台回滚Operator版本。

前提条件
  • 您可以使用具有cluster-admin权限的帐户访问OpenShift Container Platform集群Web控制台。

步骤
  1. 转到**Operators** → **已安装的Operators**页面。

  2. 点击RHACS Operator。

  3. 在**Operator详细信息**页面上,从**操作**列表中选择**卸载Operator**。此操作之后,Operator将停止运行,并且不再接收更新。

  4. 在回滚的通道上安装最新版本的Operator。

排查Operator升级问题

请按照以下说明调查和解决RHACS Operator的升级相关问题。

中央集群或安全集群无法部署

当RHACS Operator具有以下条件时,您必须检查自定义资源条件以查找问题:

  • 如果Operator无法部署安全集群:

  • 如果Operator无法将CR更改应用于实际资源:

  • 对于安全集群,运行以下命令以检查条件:

    $ oc -n rhacs-operator describe securedclusters.platform.stackrox.io (1)
    1 如果您使用Kubernetes,请输入kubectl代替oc

您可以从条件输出中识别配置错误。

示例输出
 Conditions:
    Last Transition Time:  2023-04-19T10:49:57Z
    Status:                False
    Type:                  Deployed
    Last Transition Time:  2023-04-19T10:49:57Z
    Status:                True
    Type:                  Initialized
    Last Transition Time:  2023-04-19T10:59:10Z
    Message:               Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit
    Reason:                ReconcileError
    Status:                True
    Type:                  Irreconcilable
    Last Transition Time:  2023-04-19T10:49:57Z
    Message:               No proxy configuration is desired
    Reason:                NoProxyConfig
    Status:                False
    Type:                  ProxyConfigFailed
    Last Transition Time:  2023-04-19T10:49:57Z
    Message:               Deployment.apps "central" is invalid: spec.template.spec.containers[0].resources.requests: Invalid value: "50": must be less than or equal to cpu limit
    Reason:                InstallError
    Status:                True
    Type:                  ReleaseFailed

此外,您可以查看RHACS pod日志以查找有关该问题的更多信息。运行以下命令以查看日志:

oc -n rhacs-operator logs deploy/rhacs-operator-controller-manager manager (1)
1 如果您使用Kubernetes,请输入kubectl代替oc