$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
在OpenShift中,升级意味着使用具有更新软件的新组件来替换具有过时软件的现有组件。
您可以通过控制集群中哪些部分升级来控制升级对工作负载的影响,例如
这将启动托管控制平面的升级。它不会影响您的工作节点。
这将启动对指定机器池中节点的滚动替换,并暂时影响该机器池上的工作节点。您还可以同时升级多个机器池。
您不能同时升级托管控制平面和任何机器池。 |
为了保持集群中节点之间的兼容性,机器池中的节点不能使用比托管控制平面更新的版本。这意味着应始终先将托管控制平面升级到给定版本,然后再将任何机器池升级到同一版本。 |
您可以通过编辑每个机器池的--max-surge
和--max-unavailable
值来进一步控制机器池升级所需的时间以及升级对工作负载的影响。例如,这些选项控制可以在机器池上同时升级的节点数量,以及升级是否会预配多余的节点或使某些现有节点不可用,或者两者兼而有之。
为了优先考虑高工作负载可用性,您可以通过为--max-surge
设置更高的值并将--max-unavailable
设置为0
来预配多余的节点,而不是使现有节点不可用。
为了优先考虑降低基础设施成本,您可以通过为--max-unavailable
设置更高的值并将--max-surge
设置为0
来使某些现有节点不可用并避免预配多余的节点。
为了通过同时升级多个节点来优先考虑升级速度,您可以通过为--max-surge
和--max-unavailable
配置中等值来预配多余的节点并允许使某些现有节点不可用。
有关这些参数及其用法的更多信息,请参阅rosa edit machinepool
的ROSA CLI参考。
要规划升级,请查看AWS上的Red Hat OpenShift服务更新生命周期。
生命周期页面包括发行版定义、支持和升级要求、安装策略信息和生命周期日期。
升级是手动启动或自动安排的。Red Hat站点可靠性工程师 (SRE) 监控升级进度并解决遇到的任何问题。
如果您的控制平面当前未启用多架构,则升级过程将首先将集群迁移到多架构映像,然后应用版本升级。多架构集群能够运行基于x86和基于Arm的工作负载。2024年7月25日之后创建的集群默认情况下启用了多架构。 |
您可以使用ROSA CLI手动升级带有HCP集群的ROSA的托管控制平面。如果可用更新的版本,此方法将立即或在指定的未来时间安排控制平面进行升级。
您的控制平面仅支持两个次要Y流版本内的机器池。例如,控制平面使用版本4.15.z的带有HCP集群的ROSA支持版本4.13.z和4.14.z的机器池,但控制平面不支持使用版本4.12.z的机器池。 |
您已安装并配置了最新版本的ROSA CLI。
没有机器池升级正在进行或计划在托管控制平面升级的同时进行。
通过运行以下命令验证集群的当前版本
$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
1 | 将<cluster_name_or_id> 替换为集群名称或集群ID。 |
通过运行以下命令列出您可以将控制平面升级到的版本
$ rosa list upgrade --cluster=<cluster_name_or_id>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.8 recommended
4.14.7
4.14.6
运行以下命令升级集群托管控制平面
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
要立即升级到指定版本,请运行以下命令
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --version <version_number>
您的托管控制平面已安排立即升级。
要将升级计划安排在未来的某个日期,请运行以下命令
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
您的托管控制平面已安排在协调世界时 (UTC) 指定的时间进行升级。
有时计划的升级不会启动。有关更多信息,请参阅 升级维护已取消。
您可以使用 ROSA CLI 手动升级 ROSA with HCP 集群中的一个或多个机器池。如果可用更新的版本,此方法会将指定的机器池安排立即或在指定的未来时间进行升级。
您的控制平面仅支持两个次要Y流版本内的机器池。例如,控制平面使用版本4.15.z的带有HCP集群的ROSA支持版本4.13.z和4.14.z的机器池,但控制平面不支持使用版本4.12.z的机器池。 |
您已安装并配置了最新版本的ROSA CLI。
集群上没有托管控制平面的升级正在进行中,也没有计划与机器池升级同时进行。
机器池配置(例如节点 drain 超时、max-unavailable 和 max-surge)可能会影响升级的时间和成功。 |
通过运行以下命令验证集群的当前版本
$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
1 | 将<cluster_name_or_id> 替换为集群名称或集群ID。 |
OpenShift Version: 4.14.0
运行以下命令列出您可以将机器池升级到的版本
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.5 recommended
4.14.4
4.14.3
不要将机器池升级到高于控制平面的版本。如果您想升级到更高版本,请先将控制平面升级到该版本。 |
运行以下命令验证要升级的机器池的升级行为
$ rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
Replicas: 5
Node drain grace period: 30 minutes
Management upgrade:
- Type: Replace
- Max surge: 20%
- Max unavailable: 20%
在此示例中,这些设置允许机器池预配一个冗余节点(replicas
的 20% 的 max-surge
)并在升级期间最多有一个节点不可用(replicas
的 20% 的 max-unavailable
)。因此,此机器池可以通过预配一个超过副本数量的新节点,以及使一个节点不可用并替换它来一次升级两个节点。如果需要保护具有 Pod 中断预算的工作负载,节点升级可能会延迟最多 30 分钟(node-drain-grace-period
为 30 分钟)。
运行以下命令升级机器池
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
您可以通过对要升级的每个机器池运行此命令来同时升级多个机器池。
要安排机器池的立即升级,请运行以下命令
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
机器池已安排立即升级,这将启动对指定机器池中所有节点的滚动替换。
要安排升级在未来的某个时间开始,请运行以下命令
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
机器池已安排在协调世界时 (UTC) 的指定时间和日期开始升级。这将从指定时间开始启动对指定机器池中所有节点的滚动替换。
升级整个集群包括升级托管控制平面和机器池中的节点。但是,这些组件不能同时升级。它们必须顺序升级。这可以按任何顺序进行。但是,为了保持集群中节点之间的兼容性,机器池中的节点不能使用比托管控制平面更新的版本。因此,如果托管控制平面和机器池中的节点都需要升级到相同的 OpenShift 版本,则必须先升级托管控制平面,然后再升级机器池。
您已安装并配置了最新版本的ROSA CLI。
没有其他升级正在进行中或计划在此次升级的同时进行。
当您需要升级整个集群时,请先升级托管控制平面。
您已安装并配置了最新版本的ROSA CLI。
没有机器池升级正在进行或计划在托管控制平面升级的同时进行。
通过运行以下命令验证集群的当前版本
$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
1 | 将<cluster_name_or_id> 替换为集群名称或集群ID。 |
通过运行以下命令列出您可以将控制平面升级到的版本
$ rosa list upgrade --cluster=<cluster_name_or_id>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.8 recommended
4.14.7
4.14.6
运行以下命令升级集群托管控制平面
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
要立即升级到指定版本,请运行以下命令
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --version <version_number>
您的托管控制平面已安排立即升级。
要将升级计划安排在未来的某个日期,请运行以下命令
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
您的托管控制平面已安排在协调世界时 (UTC) 指定的时间进行升级。
托管控制平面升级完成后,您可以升级一个或多个机器池。
机器池配置(例如节点 drain 超时、max-unavailable 和 max-surge)可能会影响升级的时间和成功。 |
通过运行以下命令验证集群的当前版本
$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
1 | 将<cluster_name_or_id> 替换为集群名称或集群ID。 |
OpenShift Version: 4.14.8
运行以下命令列出您可以将机器池升级到的版本
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.5 recommended
4.14.4
4.14.3
不要将机器池升级到高于控制平面的版本。如果您想升级到更高版本,请先将控制平面升级到该版本。 |
运行以下命令验证要升级的机器池的升级行为
$ rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
Replicas: 5
Node drain grace period: 30 minutes
Management upgrade:
- Type: Replace
- Max surge: 20%
- Max unavailable: 20%
在此示例中,这些设置允许机器池预配一个冗余节点(replicas
的 20% 的 max-surge
)并在升级期间最多有一个节点不可用(replicas
的 20% 的 max-unavailable
)。因此,此机器池可以通过预配一个超过副本数量的新节点,以及使一个节点不可用并替换它来一次升级两个节点。如果需要保护具有 Pod 中断预算的工作负载,节点升级可能会延迟最多 30 分钟(node-drain-grace-period
为 30 分钟)。
运行以下命令升级机器池
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
您可以通过对要升级的每个机器池运行此命令来同时升级多个机器池。
要安排机器池的立即升级,请运行以下命令
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
机器池已安排立即升级,这将启动对指定机器池中所有节点的滚动替换。
要安排升级在未来的某个时间开始,请运行以下命令
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
机器池已安排在协调世界时 (UTC) 的指定时间和日期开始升级。这将从指定时间开始启动对指定机器池中所有节点的滚动替换。
您可以使用 ROSA CLI 手动升级 ROSA with HCP 集群。如果可用更新的版本,此方法会将集群安排立即升级。
您的控制平面仅支持两个次要Y流版本内的机器池。例如,控制平面使用版本4.15.z的带有HCP集群的ROSA支持版本4.13.z和4.14.z的机器池,但控制平面不支持使用版本4.12.z的机器池。 |
您已安装并配置了最新版本的ROSA CLI。
通过运行以下命令验证集群的当前版本
$ rosa describe cluster --cluster=<cluster_name_or_id> (1)
1 | 将<cluster_name_or_id> 替换为集群名称或集群ID。 |
运行以下命令列出您可以将控制平面和机器池升级到的版本
对于控制平面版本,请运行以下命令
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.8 recommended
4.14.7
4.14.6
对于机器池版本,请运行以下命令
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
该命令返回可用更新列表,包括推荐版本。
VERSION NOTES
4.14.5 recommended
4.14.4
4.14.3
机器池的最新可用更新仅限于控制平面的当前版本。请确保您的控制平面已更新。 |
使用以下选项之一升级您的集群
运行以下命令升级集群托管控制平面
$ rosa upgrade cluster -c <cluster_name> --control-plane [--schedule-date=XX --schedule-time=XX] [--version <version_number>]
您的托管控制平面现已安排升级。
运行以下命令升级集群上的特定机器池
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=XX --schedule-time=XX] [--version <version_number>]
您的机器池现已安排升级。
您可以使用 OpenShift 集群管理器控制台手动安排 ROSA 集群的一次性升级或定期升级。
登录到 OpenShift 集群管理器。
选择要升级的集群。
单击**设置**选项卡。
在**更新策略**窗格中,选择您想要的更新类型
对于单个更新,您可以请求立即升级(在一小时内开始)或在未来的某个时间升级。
对于定期更新,请选择定期日期和时间以自动开始升级到可用的最新 x.y.Z(z 流)版本。
定期更新仅适用于 z 流更新。需要手动执行次要版本或 y 流更新。当有新的 y 流更新可用时,您将收到通知。 |
在**更新策略**窗格中,单击**保存**以应用更新策略。
在**更新状态**窗格中,查看**可用更新**信息,然后单击**更新**。
只有在有可用升级时,**更新**按钮才启用。 |
将打开**更新集群**对话框。推荐的集群升级显示在**选择版本**窗格中。选择要将集群升级到的版本,然后单击**下一步**。
可选:对于使用 AWS 安全令牌服务 (STS) 的 ROSA 集群,可能需要更新帐户级别和集群特定的 Operator 角色,具体取决于所选的目标版本。
在 ROSA CLI 中,运行rosa list account-roles
命令列出并验证帐户角色是否与为升级选择的 target 次要版本兼容。如果角色不兼容,请运行rosa upgrade account-roles
命令将帐户角色升级到最新的 OpenShift 版本。
在 ROSA 命令行界面 (CLI) 中,运行rosa list operator-roles
命令列出并验证与集群关联的操作符角色是否与为升级选择的目标次要版本兼容。如果不兼容,请运行rosa upgrade operators-roles
命令将集群的操作符角色升级到最新的 OpenShift 版本。
如果您选择的更新版本需要批准,请在提供的字段中键入**确认**,然后点击**下一步**以提供管理员确认。
在**计划更新**对话框中,安排您的集群升级。
要在1小时内升级,请选择**立即更新**,然后点击**下一步**。
要在稍后时间升级,请选择**安排其他时间**,并设置升级的时间和日期。点击**下一步**继续到确认对话框。
查看版本和计划摘要后,选择**确认更新**。
点击**关闭**退出**更新集群**对话框。
集群已计划升级到目标版本。此操作最多可能需要一个小时,具体取决于选择的升级计划和您的工作负载配置(例如 Pod 中断预算)。
状态显示在**更新状态**面板中。
有时,计划的升级不会触发。有关更多信息,请参见升级维护已取消。
您可以使用 OpenShift 集群管理器控制台删除计划的升级。
登录到 OpenShift 集群管理器。
选择具有计划升级的集群。
单击**设置**选项卡。
在**更新状态**面板中,点击**取消此更新**。
在**取消更新**对话框中查看更新详情,然后点击**取消此更新**。
您将收到一封电子邮件通知,确认已取消计划的升级。