第 6 章 使用 Web 控制台更新集群

您可以使用 web 控制台对 OpenShift Container Platform 集群进行更新或升级。以下步骤在次版本中更新集群。您可以使用相同的说明在次版本之间更新集群。

注意

使用 Web 控制台或 oc adm upgrade channel <channel> 更改更新频道。在改到一个 4.9 频道后,按使用 CLI 更新集群中的步骤完成更新。

6.1. 先决条件

  • 使用具有 admin 权限的用户访问集群。请参阅使用 RBAC 定义和应用权限
  • 具有最新的 etcd 备份,以防因为升级失败需要将集群恢复到以前的状态

    OpenShift Container Platform 4.9 需要从 etcd 版本 3.4 升级到 3.5。如果 etcd Operator 停止更新,则会触发警报。要清除此警报,请使用以下命令取消更新:

    $ oc adm upgrade --clear
  • 确保之前通过 Operator Lifecycle Manager(OLM)安装的所有 Operator 均更新至其最新频道中的最新版本。更新 Operator 可确保当默认 OperatorHub 目录在集群升级过程中从当前次要版本切换到下一个次版本时,它们有有效的升级路径。如需更多信息,请参阅更新安装的 Operator
  • 确保所有机器配置池 (MCP) 都正在运行且未暂停。在更新过程中跳过与暂停 MCP 关联的节点。如果要执行 canary rollout 更新策略,可以暂停 MCP。
  • 如果您的集群使用手动维护的凭证,请确保 Cloud Credential Operator(CCO)处于可升级状态。如需更多信息,请参阅为 AWSAzureGCP 手动维护凭证升级集群
  • 如果您运行 Operator 或您已配置了 pod 中断预算,您可能会在升级过程中遇到中断。如果在 PodDisruptionBudget 中将 minAvailable 设置为 1,则节点会排空以应用可能会阻止驱除过程的待处理机器配置。如果重启了几个节点,则所有 pod 只能有一个节点上运行,PodDisruptionBudget 字段可能会阻止节点排空。
  • 如果您的集群通过 AWS Secure Token Service (STS) 使用手动维护的凭证,请从要升级到的发行镜像获取 ccoctl 实用程序的副本,并使用它来处理任何更新的凭证。如需更多信息,请参阅升级使用 STS 的手动模式配置的 OpenShift Container Platform 集群
  • 检查 Kubernetes 1.22 中删除的 API 列表,将任何受影响的组件迁移到使用新的 API 版本,并提供管理员确认。如需更多信息,请参阅准备升级到 OpenShift Container Platform 4.9
重要
  • 当更新无法完成时,Cluster Version Operator(CVO)会在尝试协调更新时报告任何阻塞组件的状态。当前还不支持将集群还原到以前的版本。如果您的更新无法完成,请联系红帽支持。
  • 使用 unsupportedConfigOverrides 部分修改 Operator 配置不受支持,并可能会阻止集群更新。您必须在更新集群前删除此设置。