第 4 章 了解更新频道和发行版本
更新频道是一个升级机制,用户可以声明他们要更新集群的 OpenShift Container Platform 次版本。它们还允许用户选择更新更新的时间和级别,并通过 fast
、stable
、candidate
和 eus
频道选项。Cluster Version Operator 使用基于频道声明的更新图以及其他条件信息,以提供集群可用的推荐和条件更新列表。
升级频道与 OpenShift Container Platform 的次版本关联。频道中的版本号代表集群最终要升级到的目标次版本,即使它高于集群的当前次版本。
例如,OpenShift Container Platform 4.10 更新频道提供以下建议:
- 在 4.10 内更新。
- 4.9 中的更新。
- 从 4.9 升级到 4.10,允许所有 4.9 集群最终更新至 4.10,即使它们没有立即满足最小 z-stream 版本要求。
-
仅限
eus-4.10
:在 4.8 中更新。 -
仅限
eus-4.10
: 从 4.8 升级到 4.9 再到 4.10,,允许所有 4.8 集群最终更新至 4.10。
4.10 更新频道不推荐对 4.11 或更高版本的更新。这可确保管理员明确决定升级到下一个 OpenShift Container Platform 次版本。
更新频道只控制发行版本选择,不会影响您安装的集群版本。特定版本的 OpenShift Container Platform 的 openshift-install
二进制文件始终会安装该版本。
OpenShift Container Platform 4.10 提供了以下更新频道:
-
stable-4.10
-
eus-4.y
(只提供 EUS 版本,旨在促进 EUS 版本之间的更新) -
fast-4.10
-
candidate-4.10
如果您不希望 Cluster Version Operator 从升级建议服务获取可用的更新,您可以使用 OpenShift CLI 中的 oc adm upgrade channel
命令配置空频道。例如,当集群有受限网络访问且没有本地可访问的升级建议服务时,这个配置很有用。
红帽建议升级到 OpenShift Update Service 建议的版本。对于次版本更新,版本必须是连续的。红帽没有测试在非连续地版本间的升级,无法保证与之前版本的兼容性。
4.1. 更新频道
4.1.1. fast-4.10 频道
当红帽声明版本成为正式发行 (GA) 版本时,fast-4.10
频道被更新为 OpenShift Container Platform 4.10 的新版本。因此,这些版本被完全支持,用于生产环境。
4.1.2. stable-4.10 频道
虽然当它们的勘误被发布后马上就会出现在 fast-4.10
频道中,但这些内容可能需要一段延迟时间会被添加到 stable-4.10
频道中。在这个延迟过程中,会从多个源收集数据并分析用于指示产品回归。收集大量数据点并且缺少负信号后,这些版本将添加到 stable 频道中。
由于获得大量的数据点所需的时间因很多因素而异,因此在快速频道和稳定频道之间的延迟期间不会提供 Service LeveL Objective (SLO)。如需更多信息,请参阅"选择集群的正确频道"
新安装的集群默认为使用 stable 频道。
4.1.3. eus-4.y 频道
除了 stable 频道外,所有以数字相等的 OpenShift Container Platform 次版本都提供延长更新支持 (EUS)。提升到 stable 频道的版本也同时提升到 EUS 频道。EUS 频道的主要目的是,为了方便执行 EUS 到 EUS 更新的集群。
标准和非 EUS 订阅者都可以访问所有 EUS 软件仓库和所需的 RPM(rhel-*-eus-rpms
),它们都能够支持关键目的,如调试和构建驱动程序。
4.1.4. candidate-4.10 频道
candidate-4.10
频道在构建后马上提供对这个版本的早期访问。只有候选频道中出现的版本可能不包含在 GA 之前删除最终 GA 版本或功能的完整功能集。另外,这些版本没有受到红帽质量保证的约束,可能不会为以后的 GA 版本提供更新路径。鉴于这些注意事项,候选通道仅适用于销毁和重新创建集群可接受的目的。
4.1.5. 更新频道中的建议
OpenShift Container Platform 维护一个更新建议服务,它知道已安装的 OpenShift Container Platform 版本以及频道中要获取的路径,以便您获得下一版本。更新路径还仅限于与当前所选频道及其提升特征相关的版本。
您可在频道中看到以下发行版本:
- 4.10.0
- 4.10.1
- 4.10.3
- 4.10.4
该服务只建议经过测试且没有已知的严重回归更新。例如,如果您的集群为 4.10.1,OpenShift Container Platform 推荐 4.10.4,建议从 4.10.1 升级到 4.10.4。
您不需要一定在连续的补丁号间进行升级。在这个示例中,该频道并没有(且重来没有包括 4.10.2),因此不建议或不支持对 4.10.2 的更新。
4.1.6. 更新建议和升级
红帽会监控新发布的版本,以及把这些版本添加到支持的频道前后与那些版本关联的更新路径。
如果红帽从任何支持的发行版本中删除更新建议,则会为更正回归的未来版本提供取代的更新建议。但是,当缺陷被修正、测试并提升到您选择的频道时,可能会有一些延迟。
从 OpenShift Container Platform 4.10 开始,在确认更新风险时,它们会被声明为相关更新的条件更新风险。每个已知风险都可能适用于所有集群,或者只应用到与特定条件匹配的集群。有些示例包括将 Platform
设置为 None
,或将 CNI 供应商设置为 OpenShiftSDN
。Cluster Version Operator (CVO) 持续评估当前集群状态的已知风险。如果没有风险匹配,则建议更新。如果风险匹配,则支持这些更新但不推荐,并提供了一个参考链接。参考链接可帮助集群管理员决定是否接受风险和更新。
当红帽选择声明条件更新风险时,会在所有相关频道中同时采取该操作。Conditional Update risk 的声明可能会在更新被提升到支持的频道之前或之后发生。
4.1.7. 为集群选择正确的频道
选择适当的频道涉及两个决策。
首先,选择您要进行集群更新的次版本。选择与当前版本匹配的频道可确保您只应用 z-stream 更新,且不会接收功能更新。选择一个大于您当前版本的可用频道,以确保在一个或多个更新后,集群将更新至该版本。您的集群只提供与当前版本、下一个版本或下一个 EUS 版本匹配的频道。
由于计划在很多次版本间更新的复杂性,频道可帮助计划在 EUS 到 EUS 更新之外进行更新。
其次,您应该选择您需要的 rollout 策略。当红帽声明了一个 GA 版本后,您可以选择从 fast 频道中选择更新,或者您可能要等待红帽将版本提升到 stable 频道。fast-4.10
和 stable-4.10
中提供的更新建议被完全支持,并从持续数据分析中同样获益。将发行版本提升到 stable 频道前的提升延迟会重新设置两个频道之间的唯一区别。对最新 z-streams 的更新通常会在一周或两个时间内提升到 stable 频道,但最初向最新次版本进行更新的时间更长时的延迟(通常为 45-90 天)。在选择所需频道时请考虑提升延迟,以等待到 stable 频道的提升可能会影响您的调度计划。
另外,有几个因素可能会导致机构永久或临时将集群移至 fast 频道,包括:
- 想要应用特定的修复,以便在不延迟的情况下影响您的环境。
- 在没有延迟的情况下修复 CVE 的应用程序。CVE 修复可能会引入回归问题,因此提升延迟仍然适用于带有 CVE 修复的 z-streams。
- 内部测试流程。如果您的组织需要数周时间来证明,则最好与我们提升流程同时测试,而不是等待。这也保证,红帽提供的任何遥测信号均是我们的推出中因素,因此可以更快地修复与您的问题相关的问题。
4.1.8. 受限网络集群
如果您自己为 OpenShift Container Platform 集群管理容器镜像,您必须考虑与产品关联的红帽勘误中的升级信息。在升级过程中,用户界面可能会提醒您在这些版本间进行切换,因此您必须在跳过这些警告前确定选择了正确的版本。
4.1.9. 在频道间切换
可以从 Web 控制台或通过 adm upgrade channel
命令来切换频道:
$ oc adm upgrade channel <channel>
如果您切换到没有包括当前版本的频道,web 控制台将显示警报。在没有当前发行版本的频道中,web 控制台不推荐任何更新。但是,您可以在任何时候返回原始频道。
更改您的频道可能会影响集群的可支持性。可能适用以下条件:
-
如果您从
stable-4.10
频道改到fast-4.10
频道,您的集群仍然被支持。 -
您可以随时切换到
candidate-4.10
频道,但该频道中的一些发行版本可能不被支持。 -
如果您当前的发行本是正式发布版本,则可以从
candidate-4.10
频道切换到fast-4.10
频道。 -
您始终可以从
fast-4.10
频道切换到stable-4.10
频道。如果当前版本最近升级,则可能会有最多一天的延迟后该发行版本才会出现在stable-4.10
中。