第 9 章 升级 RHACS 云服务
9.1. 使用 Operator 在 RHACS Cloud Service 中升级安全集群
红帽为它管理的组件(包括 Central 服务)提供常规服务更新。这些服务更新包括升级到 Red Hat Advanced Cluster Security Cloud Service 的新版本。
您必须定期升级安全集群中的 RHACS 版本,以确保与 RHACS 云服务兼容。
9.1.1. 准备升级
在升级 Red Hat Advanced Cluster Security for Kubernetes (RHACS)版本前,请完成以下步骤:
-
如果您要升级的集群包含
SecuredCluster
自定义资源(CR),请将 collection 方法改为CORE_BPF
。如需更多信息,请参阅"删除集合方法"。
9.1.1.1. 更改集合方法
如果要升级的集群包含 SecuredCluster
CR,您必须确保在升级前将每个节点集合设置设置为 CORE_BPF
。
步骤
- 在 OpenShift Container Platform Web 控制台中进入 RHACS Operator 页面。
- 在顶部导航菜单中,选择 Secured Cluster。
- 点实例名称,如 stackrox-secured-cluster-services。
使用以下方法之一更改设置:
-
在 Form 视图中,在 Per Node Settings
Collector Settings Collection 下,选择 CORE_BPF。 -
点 YAML 打开 YAML 编辑器并找到
spec.perNode.collector.collection
属性。如果值为KernelModule
或EBPF
,请将其改为CORE_BPF
。
-
在 Form 视图中,在 Per Node Settings
- 点 Save。
其他资源
9.1.2. 为安全集群回滚 Operator 升级
要回滚 Operator 升级,您可以使用 CLI 或 OpenShift Container Platform Web 控制台。
在安全集群中,只有在个别情况下才需要回滚 Operator 升级,例如,如果安全集群出现问题。
9.1.2.1. 使用 CLI 回滚 Operator 升级
您可以使用 CLI 命令回滚 Operator 版本。
流程
运行以下命令来删除 OLM 订阅:
对于 OpenShift Container Platform,运行以下命令:
oc -n rhacs-operator delete subscription rhacs-operator
Copy to clipboardCopied$ oc -n rhacs-operator delete subscription rhacs-operator
对于 Kubernetes,运行以下命令:
kubectl -n rhacs-operator delete subscription rhacs-operator
Copy to clipboardCopied$ kubectl -n rhacs-operator delete subscription rhacs-operator
运行以下命令来删除集群服务版本 (CSV):
对于 OpenShift Container Platform,运行以下命令:
oc -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
Copy to clipboardCopied$ 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
Copy to clipboardCopied$ kubectl -n rhacs-operator delete csv -l operators.coreos.com/rhacs-operator.rhacs-operator
- 在回滚频道上安装 Operator 的最新版本。
9.1.2.2. 使用 Web 控制台回滚 Operator 升级
您可以使用 OpenShift Container Platform Web 控制台回滚 Operator 版本。
先决条件
-
您可以使用具有
cluster-admin
权限的账户访问 OpenShift Container Platform 集群 Web 控制台。
步骤
-
进入 Operators
Installed Operators 页面。 - 点 RHACS Operator。
- 在 Operator Details 页面中,从 Actions 列表中选择 Uninstall Operator。按照此操作,Operator 将停止运行,不再接收更新。
- 在回滚频道上安装 Operator 的最新版本。
9.1.3. Operator 升级问题故障排除
按照以下步骤调查并解决 RHACS Operator 的与升级相关的问题。
9.1.3.1. Central 或 Secured 集群无法部署
当 RHACS Operator 满足以下条件时,您必须检查自定义资源条件以查找问题:
- 如果 Operator 无法部署安全集群
- 如果 Operator 无法将 CR 应用到实际资源
对于安全集群,运行以下命令检查条件:
oc -n rhacs-operator describe securedclusters.platform.stackrox.io 1
Copy to clipboardCopied$ 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
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
Copy to clipboardCopied另外,您可以查看 RHACS pod 日志以查找有关此问题的更多信息。运行以下命令来查看日志:
oc -n rhacs-operator logs deploy/rhacs-operator-controller-manager manager 1
oc -n rhacs-operator logs deploy/rhacs-operator-controller-manager manager 1
Copy to clipboardCopied- 1
- 如果使用 Kubernetes,请输入
kubectl
而不是oc
。