升级


Red Hat OpenShift Service on AWS 4

了解 Red Hat OpenShift Service on AWS 的升级选项

Red Hat OpenShift Documentation Team

摘要

本文档提供有关升级 Red Hat OpenShift Service on AWS 集群的信息。

第 1 章 升级 Red Hat OpenShift Service on AWS 集群

1.1. Red Hat OpenShift Service on AWS 集群的升级选项

在 OpenShift 中,升级意味着使用更新的软件置备新组件,并使用它来替换具有过时软件的现有组件。

您可以通过控制集群升级集群的哪些部分来控制升级到工作负载的影响,例如:

仅升级托管的 control plane
这会启动托管 control plane 的升级。它不会影响您的 worker 节点。
升级机器池中的节点
Red Hat OpenShift Service on AWS 机器池升级旨在在升级过程中完全替换机器池中的每个节点。与执行原位升级相比,这提供了额外的安全性和稳定性优势。升级机器池中的节点将启动指定机器池中的节点的滚动替换,并临时影响该机器池上的 worker 节点。您还可以同时升级多个机器池。
重要

您无法与任何机器池升级同时升级托管的 control plane。您需要首先升级托管的 control plane,然后升级机器池。

重要

为了保持集群中节点间的兼容性,机器池中的节点无法使用比托管的 control plane 的新版本。这意味着,在任何机器池升级到同一版本前,托管 control plane 应该始终升级到一个给定版本。

您可以通过编辑每个机器池的--max- surge and-- max- unavailable 值,进一步控制机器池升级所需的时间。这些选项控制机器池中可以同时升级的节点数量,以及升级是否置备超额节点,或者使一些现有节点不可用,例如:

  • 要优先选择高工作负载可用性,您可以通过将更高的值设置为 set -max-surge,并将 set- max- unavailable 设置为 0 来调配过量节点不可用。
  • 要优先考虑较低的基础架构成本,您可以通过将更高的值设置为 --max-unavailable,并将 set- max-s urge 设置为 0 来避免一些现有节点不可用,并避免置备过量节点。
  • 要通过同时升级多个节点来优先升级速度,您可以调配超额节点,并通过为 both -max-surge 和-- max- unavailable 配置中等值来允许一些现有节点不可用

有关这些参数及其用法的更多信息,请参阅 rosa edit machinepoolROSA CLI 参考

1.2. 生命周期策略和计划

要计划升级,请查看 Red Hat OpenShift Service on AWS 更新生命周期

生命周期页中包括了发行定义、支持和升级要求、安装策略信息和生命周期日期。

手动启动升级或自动调度升级。Red Hat Site Reliability 工程师 (SRE) 监控升级进度并解决遇到的问题。

注意

如果您的 control plane 当前没有启用多架构,升级过程将首先将集群迁移到多架构镜像,然后应用版本升级。多架构集群能够运行基于 x86 和基于 Arm 的工作负载。2024 年 7 月 25 日之后创建的集群是默认启用的多架构。

1.3. 使用 ROSA CLI 升级托管的 control plane

您可以使用 ROSA CLI 手动升级 Red Hat OpenShift Service on AWS 集群的托管 control plane。如果有新版本可用(可立即或指定的时间)为升级调度 control plane。

注意

您的 control plane 只支持两个次版本 Y-stream 版本中的机器池。例如,使用版本 4.15.z 的 control plane 的 Red Hat OpenShift Service on AWS 集群支持带有版本 4.13.z 和 4.14.z 的机器池,但 control plane 不支持使用版本 4.12.z 的机器池。

先决条件

  • 已安装并配置了 ROSA CLI 的最新版本。
  • 与托管的 control plane 升级相同,没有机器池升级正在进行或调度。

流程

  1. 运行以下命令验证集群的当前版本:

    $ rosa describe cluster --cluster=<cluster_name_or_id> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_name_or_id > 替换为集群名称或集群 ID。
  2. 运行以下命令,列出您可以将 control plane 升级到的版本:

    $ rosa list upgrade --cluster=<cluster_name_or_id>
    Copy to Clipboard Toggle word wrap

    该命令返回一个可用更新列表,包括推荐的版本。

    输出示例

    VERSION  NOTES
    4.14.8   recommended
    4.14.7
    4.14.6
    Copy to Clipboard Toggle word wrap

  3. 运行以下命令升级集群的托管 control plane:

    $ rosa upgrade cluster -c <cluster_name_or_id> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
    Copy to Clipboard Toggle word wrap
    • 要调度立即升级到指定版本,请运行以下命令:

      $ rosa upgrade cluster -c <cluster_name_or_id> --version <version_number>
      Copy to Clipboard Toggle word wrap

      您的托管的 control plane 会被调度立即升级。

    • 要计划在以后的版本中升级到指定版本的升级,请运行以下命令:

      $ rosa upgrade cluster -c <cluster_name_or_id> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
      Copy to Clipboard Toggle word wrap

      您的托管 control plane 在协调通用时间(UTC)中指定的时间进行升级。

故障排除

1.4. 使用 ROSA CLI 升级机器池

您可以使用 ROSA CLI 在带有 HCP 集群的 ROSA 中手动升级一个或多个机器池。如果较新的版本可用,则此方法为升级调度指定的机器池,无论是立即或在指定的将来可用。

注意

您的 control plane 只支持两个次版本 Y-stream 版本中的机器池。例如,使用版本 4.15.z 的带有 control plane 的 ROSA 支持带有版本 4.13.z 和 4.14.z 的机器池,但 control plane 不支持使用 4.12.z 版本的机器池。

先决条件

  • 已安装并配置了 ROSA CLI 的最新版本。
  • 托管 control plane 的升级没有在集群中进行,或计划与机器池升级同时发生。
注意

机器池配置,如节点排空超时、max-unavailable 和 max-surge 可能会影响升级的时间和成功。

流程

  1. 运行以下命令验证集群的当前版本:

    $ rosa describe cluster --cluster=<cluster_name_or_id> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_name_or_id > 替换为集群名称或集群 ID。

    输出示例

    OpenShift Version:     4.14.0
    Copy to Clipboard Toggle word wrap

  2. 运行以下命令,列出您可以将机器池升级到的版本:

    $ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
    Copy to Clipboard Toggle word wrap

    该命令返回一个可用更新列表,包括推荐的版本。

    输出示例

    VERSION  NOTES
    4.14.5   recommended
    4.14.4
    4.14.3
    Copy to Clipboard Toggle word wrap

    重要

    不要将机器池升级到比 control plane 高的版本。如果要移至更高的版本,请首先将 control plane 升级到那个版本。

  3. 运行以下命令,验证您要升级的机器池的升级行为:

    $ rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
    Copy to Clipboard Toggle word wrap

    输出示例

    Replicas: 5
    Node drain grace period:   30 minutes
    
    Management upgrade:
    - Type: Replace
    - Max surge: 20%
    - Max unavailable: 20%
    Copy to Clipboard Toggle word wrap

    在示例中,这些设置允许机器池置备一个超额节点(最多 20% 的副本),并在升级过程中最多不可用一个节点(最多 20% 的副本)。 因此,这个机器池可以一次升级两个节点,方法是在超过副本数的情况下置备一个新节点,并使一个节点不可用并替换它。如果需要保护 pod 中断预算的工作负载,节点升级可能会延迟最多 30 分钟(node-drain-grace-period 为 30 分钟)。

  4. 运行以下命令来升级机器池:

    $ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
    Copy to Clipboard Toggle word wrap

    您可以为您要升级的每个机器池运行这个命令来同时升级多个机器池。

    • 要调度机器池的立即升级,请运行以下命令:

      $ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
      Copy to Clipboard Toggle word wrap

      机器池被调度立即升级,它会启动指定机器池中所有节点的滚动替换。

    • 要将升级调度到以后启动,请运行以下命令:

      $ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
      Copy to Clipboard Toggle word wrap

      机器池计划在协调通用时间(UTC)中指定的时间和日期开始升级。这将启动指定机器池中所有节点的滚动替换,从指定时间开始。

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat