第 7 章 使用 CLI 更新集群

您可以使用 OpenShift CLI (oc) 将 OpenShift Container Platform 集群更新或升级到一个次版本。您还可以按照相同的说明在次版本间更新集群。

7.1. 先决条件

  • 使用具有 admin 权限的用户访问集群。请参阅使用 RBAC 定义和应用权限
  • 具有最新的 etcd 备份,以防因为升级失败需要将集群恢复到以前的状态
  • 确保之前通过 Operator Lifecycle Manager(OLM)安装的所有 Operator 均更新至其最新频道中的最新版本。更新 Operator 可确保当默认 OperatorHub 目录在集群升级过程中从当前次要版本切换到下一个次版本时,它们有有效的升级路径。如需更多信息,请参阅更新安装的 Operator
  • 如果您的集群使用手动维护的凭证,请确保 Cloud Credential Operator(CCO)处于可升级状态。如需更多信息,请参阅为 AWSAzureGCP 手动维护凭证升级集群
  • 如果您的集群通过 AWS Secure Token Service (STS) 使用手动维护的凭证,请从要升级到的发行镜像获取 ccoctl 实用程序的副本,并使用它来处理任何更新的凭证。如需更多信息,请参阅升级使用 STS 的手动模式配置的 OpenShift Container Platform 集群
  • 确保解决所有 Upgradeable=False 条件,以便集群可以更新到下一个次版本。您可以运行 oc adm upgrade 命令以了解所有 Upgradeable=False 条件的输出,以及帮助您为次版本更新做准备的条件。
  • 如果您运行 Operator 或您已配置了 pod 中断预算,您可能会在升级过程中遇到中断。如果在 PodDisruptionBudget 中将 minAvailable 设置为 1,则节点会排空以应用可能会阻止驱除过程的待处理机器配置。如果重启了几个节点,则所有 pod 只能有一个节点上运行,PodDisruptionBudget 字段可能会阻止节点排空。
重要
  • 当更新无法完成时,Cluster Version Operator(CVO)会在尝试协调更新时报告任何阻塞组件的状态。当前还不支持将集群还原到以前的版本。如果您的更新无法完成,请联系红帽支持。
  • 使用 unsupportedConfigOverrides 部分修改 Operator 配置不受支持,并可能会阻止集群更新。您必须在更新集群前删除此设置。