使用 Google Kubernetes Engine (GKE) 的发布渠道,为集群选择在功能可用性和稳定性之间达到所需平衡的版本。
GKE 会随着时间的推移自动升级所有集群(包括未在发布渠道中注册的集群),以确保它们收到安全更新、已知问题的修复、新功能,并运行受支持的 Kubernetes 版本。您可以通过维护窗口和排除项控制升级的时间。
我们建议您在发布渠道中注册集群,因为这样可以让您最大限度地控制维护排除项范围(阻止特定类型的升级,而不是所有升级),同时建议有序推出集群升级。Autopilot 集群只能在发布渠道中注册。
如果您在发布渠道中未注册 Standard 集群,则可以为所选节点池停用节点自动升级,并手动管理这些节点池中节点的升级。不过,所有集群的控制平面都会自动升级,并且当某个版本不再受支持时,无论发布渠道注册状态如何,集群控制平面和节点都会自动升级。如需了解详情,请参阅已在发布渠道中注册和未在发布渠道中注册的集群之间的比较。
您可以获得哪些渠道
下表介绍了可用发布渠道的属性,每种属性在功能可用性和稳定性之间达到一定的平衡。所有渠道都提供支持的 GKE 版本,且被视为正式版 (GA)(虽然并非各个功能都如标记的那样是 GA)。这些渠道中的 Kubernetes 版本是 Kubernetes 官方版本,同时包含 GA 和 Beta 版 Kubernetes API。
渠道 | 新版 Kubernetes 的可用性 | 何时使用此渠道 |
---|---|---|
快速 | 在上游开源 GA 几周后 | 尽早获取最新的 Kubernetes 版本,并在新的 GKE 功能正式发布时能立即使用它们。您的集群会经常更新以保持为可用的最新补丁程序版本,并提供较新的 Kubernetes 功能。 虽然订阅快速渠道的集群使用 GA 版本,但我们建议使用快速渠道在预生产环境中测试较新的 Kubernetes 版本和 API。 |
常规(默认) | 通过快速渠道发布后的 2-3 个月 | 虽然 GKE 和 Kubernetes 功能正式发布后即可获取,但应该基于经过较长时间段验证合格的版本。兼顾功能可用性和版本稳定性,是我们向大多数用户推荐的做法。 |
稳定 | 通过常规渠道发布后的 2-3 个月 | 优先考虑稳定性而不是新功能。GKE 会先在快速渠道和常规渠道上验证更改和新版本,最后再通过此渠道发布它们,因而有更多验证时间。 |
扩展 | 与常规渠道保持一致 | 使用此渠道可获得长期支持,让集群尽可能长时间地运行次要版本。 如需了解详情,请参阅通过扩展渠道获取长期支持。 |
无渠道(不推荐) | 与常规渠道保持一致 | 不建议使用此选项。控制平面和节点会根据常规渠道和稳定渠道自动升级。如果您需要在节点池一级停用节点自动升级,可以使用此配置选项。或者,您也可以使用发布渠道在集群层级停用节点自动升级。如需了解详情,请参阅已在发布渠道中注册和未在发布渠道中注册的集群之间的比较。 |
当您在发布渠道中注册集群后,该集群会在 GKE 发布时间表的“自动升级”列中指定的日期或之后自动升级。
如果某个版本积累了一定的使用量并且在快速渠道中显示出了跨集群的稳定性,则其会被提升为常规渠道。最后,版本会被提升为仅接收高优先级更新的稳定渠道。根据观察到的运行该版本的集群性能,每次提升都标志着稳定性和生产就绪性逐步提高。
我们会向所有发布渠道提供重要的安全补丁,以保护您的集群和 Google 的基础设施。在极少数紧急情况下,GKE 可能会将集群自动升级到其发布渠道中尚未提供的版本。
一个渠道提供哪些版本
每个发布渠道都提供多个次要版本。这些版本已符合该特定渠道的资格标准。这组可用版本包含用于创建集群的默认版本,该版本可从该渠道的一组可用版本中选择。如需查看发布渠道中可用的版本,请按照说明查看发布渠道的默认版本和可用版本。
- 新的补丁程序版本至少在一周后才能成为所有渠道的默认版本。
- 有新的次要版本可用:
- 至少两周后才能成为快速渠道的默认版本。
- 至少四周后才能成为常规渠道和稳定渠道的默认版本。
您可以在升级生产环境之前测试新的可用 GKE 版本。例如,您可以订阅升级通知来接收有关新的可用版本的通知,然后主动将预生产环境升级到新版本,它随后将成为默认版本。
如果您需要将集群保留在特定版本上(例如,在升级之前验证或测试较新的版本),我们建议您使用维护排除项。
某个次要版本在发布渠道中可用后,它将在新集群或现有集群的该发布渠道中保持可用,一直到支持终止日期。
当新版本成为发布渠道中的默认版本时会发生什么情况
当新的 GKE 版本成为发布渠道中的默认版本时:
- 系统会使用所选发布渠道中的新默认版本创建新集群。
- 现有符合条件的集群会在新版本成为其发布渠道中的默认版本后的 10 天内自动升级。
如果在新版本成为发布渠道中的默认版本的 10 天后,您的集群未开始自动升级,则延迟可能是以下原因之一造成的:
- 您的集群暂时不符合自动升级的条件。发生这种情况的原因如下:
- GKE 因技术或业务原因暂停了新的默认版本的发布:
- 我们在新版本中发现了一些技术问题。
- 因重要购物季(例如黑色星期五)而设定了生产冻结机制。
从较新的渠道运行补丁版本
除了所列的发布渠道的可用补丁版本之外,如果集群的发布渠道中提供了次要版本,您还可以运行比集群注册到的发布渠道更新的发布渠道中的补丁版本。
例如,如果快速和常规渠道分杯提供以下版本:
- 快速:1.23.2-gke.700、1.22.4-gke.1500
- 常规:1.21.4-gke.400、1.22.1-gke.400
在常规渠道中注册并且运行 GKE 1.22.1-gke.400 的集群可以升级到 1.22.4-gke.1500,但不能升级到 1.23.2-gke.700,因为它是不同的次要版本。
如需升级到较新渠道的补丁版本,集群的控制平面必须运行具有相同次要版本的补丁版本。例如,如果集群运行 1.21.3-gke.200,则必须先将集群升级到其当前发布渠道中提供的补丁版本 1.22.1-gke.400。然后,您可以将集群升级到 1.22.4-gke.1500。
您还可以创建运行 1.22.4-gke.1500 并在常规渠道中注册的新集群。
集群将继续使用较新的渠道上的补丁版本,直至集群注册到的渠道的默认版本高于集群版本为止。届时,该集群将自动升级到默认版本。
了解渠道的新功能
如需了解发布渠道的新功能,请查看版本说明。除了总体版本说明之外,每个发布渠道还有单独的版本说明。
发布渠道 | 版本说明 |
---|---|
快速渠道 | HTML 或 Atom Feed。 |
常规渠道 | HTML 或 Atom Feed。 |
稳定渠道 | HTML 或 Atom Feed。 |
为您的集群选择最合适的发布渠道
渠道仅包含 Kubernetes 的 GA 版本,并且每个渠道都代表 Kubernetes 和 GKE 版本质量和成熟度的不同级别。下图说明了发布渠道的采用周期:
如图所示,可用的发布渠道会在整个采用周期使用各种版本,包括针对尝鲜者提供的快速渠道、针对早期多数用户提供的常规渠道以及针对多数用户提供的稳定渠道。采用周期的第一阶段是针对创新者,他们将使用上游 Kubernetes 版本测试最新功能。采用周期的最后一个阶段是针对后期多数用户,在该阶段用户使用的版本即将弃用且需要转换到受支持的版本。
在测试环境中,您可以对新推出的版本使用快速渠道,这样您便可以在这些版本正式发布后尽快对其功能进行测试。
对于要求成熟度超过较新功能的生产工作负载,我们建议使用常规(默认)渠道或稳定渠道。
- 如果您需要密切跟踪新功能,请考虑使用常规渠道,它可以平衡 Kubernetes OSS 版本的稳定性和新鲜度。
- 如果您的需求注重成熟度,尤其是对于生产集群,请使用稳定渠道。
GKE 会将集群升级到符合渠道质量标准的较新版本。不过,我们建议您提前升级您的集群,因为这样可以为您带来以下好处:
- 更好地控制您的升级,并与您的工作时间保持一致。
- 更好地进行预测,因为 GKE 不会自动升级满足版本目标的集群(即,已手动升级到下一个目标版本的集群)。节点会自动升级到所选渠道中的推荐版本,以便与控制平面版本保持一致,并保护您免受漏洞和不受支持的版本倾斜的影响。
通过扩展渠道获取长期支持
GKE 通过扩展渠道为 Kubernetes 次要版本提供长期支持。使用此渠道,您可以在长达 24 个月的时间内继续使用次要版本。在 14 个月的标准支持期结束后,您的集群会在延长支持期内再获得大约 10 个月的安全补丁。
GKE 如何在扩展渠道中自动升级集群
对于已在扩展渠道中注册的集群,GKE 会通过以下方式自动升级集群:
- 在标准支持期内:GKE 会将集群升级到同一次要版本的较新补丁版本,升级节奏与常规渠道相同。
- 在延长支持期内:GKE 会继续为次要版本提供安全补丁更新。在延长支持结束前大约 2 个月,GKE 会开始将集群升级到下一个次要版本,除非集群使用的是已弃用的功能或 API。您可以使用维护排除项来阻止次要版本升级,直至扩展支持结束。
- 在延长支持期结束后:无论是否存在阻塞问题,GKE 都会升级仍在运行现已不受支持的次要版本的所有集群。在此日期之后,您将无法配置维护排除项。
如需详细了解各可用期以及 GKE 在扩展支持期内提供的升级,请参阅 GKE 次要版本生命周期。
在扩展渠道中注册集群的限制
您只能在扩展渠道中注册运行 1.27 版或更高版本的 Standard 集群。集群控制平面和节点都必须运行 1.27 或更高版本。
使用以下功能时,您无法在扩展渠道中注册集群:
- Autopilot 集群模式
- Alpha 版集群
- 明确启用的 Kubernetes Beta 版 API
- 网关
- Windows Server 节点池
- 自定义的 sysctl 配置选项
- Backup for GKE
- Config Connector
- 以下多集群功能:
延长支持服务的价格
如果您想在扩展渠道中注册集群,请确保您已查看扩展支持的价格。如果项目已启用 GKE Enterprise,则您可以在扩展渠道中注册集群,而无需额外付费。或者,对于 GKE Standard 版本集群,当您的集群已在扩展渠道中注册并且集群的次要版本进入扩展支持期时,系统将按用量收费。
扩展渠道的最佳实践
请查看以下场景,了解如何使用扩展渠道来最大限度地减少次要版本升级带来的中断。
支持的场景过一段时间需要进行人工操作,这样才能充分利用该渠道。如果您未计划升级到下一个次要版本,我们不建议您在该渠道中注册集群,因为 GKE 最终会以与其他渠道相同的频率将集群升级到更新的次要版本,而您的集群可能会产生更高的成本,并且最后才会收到新功能。
支持的场景和不支持的场景
如需详细了解支持的场景和不支持的场景,请查看下表,并参阅在需要长期支持时使用扩展渠道了解详情。对勾标记 () 表示支持相应场景:
升级场景 | 支持 | 摘要 | 次要版本变更的间隔时间 | 需要人工操作 |
---|---|---|---|---|
暂时在一段较长时间内继续使用次要版本 | 继续使用次要版本,以缓解阻止升级的问题。 | 平均频率相同,但会进行中断以便为一个次要版本留出额外时间。 |
|
|
每年手动升级次要版本 1-2 次 | 获取新功能,但在群集中的工作负载需要时,会降低次要升级的频率。 | 每年 1-2 次。 |
|
|
不采取任何措施,并按相同的频率接收次要升级 | 以与其他渠道相同的频率获得次要版本升级,并尽可能晚些时候获得新功能。 | 平均每 4 个月一次。 |
|
未在发布渠道中注册的集群
我们不建议使用此配置选项,因为未在发布渠道中注册的集群存在限制,但您可以选择不在发布渠道中注册 Standard 集群(称为“无渠道”和“静态”)。除非单个节点池无法自动升级,否则请勿使用此选项,而是必须改成手动升级这些节点。如果您的集群未在发布渠道中注册,您可以为所选节点池停用节点自动升级。借助发布渠道,您可以在集群级跨所有节点池实现相同的结果。不过,无论发布渠道注册状态如何,所有集群的控制平面都会自动升级,并且当某个版本不再受支持时,集群控制平面和节点都会自动升级。
如果您想阻止整个 Standard 集群或其所有节点池自动升级,我们建议您对已在发布渠道中注册的集群使用维护排除项。借助维护排除项,您可以停用所有节点池的节点自动升级,而如果您的集群未在发布渠道中注册,您可以在节点池级层停用节点自动升级。
已在发布渠道中注册和未在发布渠道中注册的集群之间的比较
请查看下表,了解在发布渠道中注册集群和不注册集群之间的异同:
功能 | 已在发布渠道中注册的集群 | 未在发布渠道中注册的集群 |
---|---|---|
共享升级行为 |
|
|
升级时间 | 与各自的发布渠道保持一致 |
|
控制节点池中断 |
|
|
维护窗口 | 可用 | 可用 |
维护排除项 |
可用的维护排除项范围:
|
限制为“无升级”范围(30 天) |
发布序列 | 可用于基于舰队和基于范围的序列 | 不可用 |
长期支持 | 仅适用于扩展发布渠道 | 不可用 |
Autopilot | 可用 | 不可用 |
快速版集群和 Alpha 版集群之间的区别
使用快速发布渠道创建的集群不是 Alpha 版集群。具体区别如下:
- 使用发布渠道的集群可以升级,并且自动升级处于启用状态,无法停用。Alpha 版集群无法升级。
- 使用发布渠道的集群不会过期。Alpha 版集群会在 30 天后过期。
- 在使用发布渠道的集群上,Alpha 版 Kubernetes API 处于未启用状态。