本页面介绍 Google Kubernetes Engine (GKE) 中的版本控制和版本支持的政策。GKE 会随着时间的推移将集群升级到较新的 Kubernetes 版本。如需详细了解升级的工作原理,请参阅GKE 集群升级简介。
您可以在 GKE 发布时间表中查看当前版本发布和支持时间表。
次要版本支持
GKE 对 Kubernetes 次要版本的支持基于 Kubernetes 开源政策。为了在次要版本的生命周期内支持这些版本,GKE 会提供补丁版本,并定期执行自动集群升级来应用这些较新的补丁。如需了解 GKE 如何支持补丁版本,请参阅补丁版本支持。
除了支持可用的次要版本之外,GKE 还会在 Kubernetes 发布周期中提供下一个次要版本的 Alpha 版补丁程序版本,最长可提前四个月提供,直到该次要版本可供快速渠道中的所有集群使用。这些 Alpha 版仅适用于快速渠道中的 GKE Alpha 版集群,旨在让想要试用即将推出的功能的尝鲜者使用。
Kubernetes 如何支持次要版本
Kubernetes 开源软件 (OSS) 社区每年发布三次带有新功能和增强功能的次要版本。每个发布周期大约为 15 周。
Kubernetes 对每个次要版本的支持期为 14 个月。在受支持的次要版本中发现的重大 bug 和安全漏洞是通过临时补丁版本发布修复的。Kubernetes 社区有时会根据需要修改其版本支持日历。如需了解详情,请参阅支持期。
GKE 如何支持次要版本
在发布稳定的新次要版本之前,Kubernetes 项目会发布该次要版本的实验性不稳定补丁版本。GKE 会在快速渠道中向 GKE Alpha 集群推出基于这些实验性版本的 Alpha 补丁版本。与快速渠道中的其他补丁版本类似,Alpha 版本会被排除在 GKE 服务等级协议 (SLA) 之外。
Kubernetes 发布稳定的新次要版本后,GKE 会移除该次要版本的 Alpha 版,并向快速渠道中的所有集群提供该次要版本的补丁版本。由于快速渠道提供最新的 GKE 补丁版本,因此这些版本被排除在 GKE 服务等级协议 (SLA) 之外,并且可能包含没有已知解决方法的问题。
在快速渠道中首次发布后,GKE 会将新的次要版本提升到常规渠道。在常规渠道中使次要版本可用于创建新集群后,GKE 会总共提供多达 24 个月的支持。此支持包括大约 14 个月的标准支持,以及大约额外 10 个月的延长支持(通过扩展渠道提供)。如需了解特定次要版本的可用性,请查看 GKE 发布时间表。
GKE 次要版本生命周期
GKE 次要版本生命周期包括以下关键步骤:
- 在次要版本的发布日期之前最多四个月,GKE 会在快速渠道中为该次要版本提供Alpha 版补丁版本,但仅适用于 Alpha 版集群。
- Kubernetes 发布新的次要版本。
- GKE 在快速渠道中提供新的次要版本,并移除该次要版本的所有现有 Alpha 补丁版本。
- GKE 在常规渠道中提供新的次要版本(标准支持期开始)。
- 在标准支持期内,GKE 为次要版本提供补丁,其中包含新功能、安全修复和 bug 修复。
- 次要版本在总共大约 14 个月后达到标准支持终止期限,进入延长支持期。在此时间之后,GKE 为扩展渠道中的集群提供安全补丁。
- 次要版本达到延长支持终止期限,这意味着次要版本将不再收到任何安全补丁。
版本可用性调整
由于 Kubernetes OSS 社区的政策调整、发现漏洞,或者无法合理解决的其他技术问题,GKE 可能会修改 GKE 版本的支持终止期限。GKE 还可能会在黑色星期五和网购星期一等关键业务时段延长支持终止日期。
GKE 提供至少 14 个月的标准支持,并提供最多总计 24 个月的支持(包括延长支持)。
如需获取最新可用版本,请参阅 GKE 版本说明。GKE 会定期更新发布时间表,以反映自动升级的时间。
次要版本生命周期中的可用时间段
GKE 为 Kubernetes 次要版本提供以下可用时间段:
请参阅下表,其中总结了可用时间段,并在后面的部分中对其进行了详细说明:
| 可用时间段 | 从常规渠道可用性开始的预计时间跨度 | GKE 提供哪些支持 | 此可用时间段的访问权限 |
|---|---|---|---|
| Alpha 版可用时间段 | 第 -5 个月至第 -1 个月 | 在仅限快速可用时间段开始之前,GKE 会在快速渠道中推出新的 Alpha 补丁版本。Alpha 版补丁版本仅适用于 Alpha 版集群,不提供技术支持或 SLA,并且极有可能包含问题。当次要版本在仅限 Alpha 版的可用期结束时可供快速渠道中的所有集群使用时,GKE 会从快速渠道中移除所有 Alpha 版。 | 仅限快速渠道(需要 Alpha 版集群) |
| 仅限快速可用时间段 | 第 -1 个月至第 0 个月 | GKE 通过提供包含新功能、安全修复和 bug 修复的补丁版本,使快速渠道中的所有集群都可以使用该次要版本。不过,这些版本被排除在 GKE 服务等级协议 (SLA) 之外,并且可能包含没有已知解决方法的问题。GKE 还会从快速渠道中移除该次要版本的所有可用 Alpha 版。 | 仅限快速渠道 |
| 标准支持期 | 第 1 个月至第 14 个月 | GKE 提供包含新功能、安全修复和 bug 修复的补丁版本。 | 快速、常规、稳定、扩展、无渠道(已弃用) |
| 延长支持期 | 第 15 个月至第 24 个月 | GKE 提供包含安全修复的补丁版本。 | 仅限扩展渠道(需要每个集群额外付费,请参阅通过扩展渠道获取长期支持) |
Alpha 版的可用时间段
在即将发布的次要版本发布前最多四个月,GKE 会在快速渠道中发布该次要版本的 Alpha 补丁版本。Alpha 版仅适用于 Alpha 版集群。 在接下来的几周内,GKE 会发布其他 Alpha 版补丁版本,并且通常会保持 1 到 3 个有效的 Alpha 版本。
此时间段会持续到 GKE 在快速渠道中发布稳定的次要版本为止。稳定版发布后,GKE 会从快速渠道中移除相应次要版本的所有 Alpha 版补丁版本,因为稳定版补丁版本可供安装。
仅限快速可用时间段
GKE 会先在快速渠道中发布新的次要版本。该版本会先在该渠道中累积使用量并在跨集群中显示出稳定性,然后才会被提升到常规渠道。在此可用时间段内,只有在快速渠道中注册的集群才能运行新的次要版本。
此时间段通常持续约 1-2 个月,但确切时间取决于每个次要版本。如需了解详情,请参阅发布渠道的预计时间表。
标准支持期
GKE 次要版本的标准支持期从该版本发布到常规渠道时开始。所有 GKE 集群(无论是否已注册发布渠道)都可以在标准支持期内运行次要版本。在此期间,GKE 会定期将集群自动升级到新的补丁版本,其中包含新功能、安全修复和 bug 修复。
GKE 通过以下方式自动升级集群:
对于未在扩展发布渠道中注册的集群,GKE 会根据集群发布渠道的时间表,在标准支持终止之前自动将集群升级到下一个受支持的次要版本。如需了解详情,请参阅发布渠道的预计时间表。不过,如果集群使用已弃用的功能或 API,GKE 不会在此期间升级集群。您可以使用维护排除项来暂时阻止 GKE 将集群升级到下一个次要版本。
标准支持终止(以前称为“服务终止”)
在标准支持期结束后,次要版本会达到标准支持终止期限(以前称为“服务终止”),并且对于未在扩展渠道中注册的所有集群,次要版本将不再受支持且不可用。
在版本支持终止之前,运行支持终止版本的客户会通过电子邮件向项目联系人发送通知。为了保证安全性和兼容性,GKE 还会开始逐步自动升级运行不受支持版本的节点(无论是否启用了自动升级),因为不会再为支持终止的版本提供新的安全补丁或 bug 修复。在针对与运行不受支持版本的集群或节点相关的任何问题与 Cloud Customer Care 联系之前,您必须先将集群和节点升级到受支持的版本。
已达到支持终止期限的 GKE 次要版本不会再收到安全补丁或 bug 修复。已达到支持终止期限的次要版本的补丁版本不受支持且不可用。GKE 会自动升级未在扩展渠道中注册的所有集群。如需了解详情,请参阅在支持终止时自动升级。
延长支持期
标准支持终止后,次要版本将进入延长支持期(第 15 个月至第 24 个月)。在此期间,GKE 会提供安全修复补丁,包括以下类型的修复:
- 针对核心 Kubernetes 组件、节点操作系统以及与 GKE 集群版本捆绑的由 Google 管理的容器的中、高和重要安全补丁。
- 对于 Container-Optimized OS,节点操作系统的支持终止期限可能会早于 GKE 次要版本的延长支持终止期限,或者引入不兼容的更改。如需详细了解 GKE 如何继续提供支持,请参阅延长支持期内的 Container-Optimized OS 更新。
在延长支持终止之前,GKE 会开始将集群升级到下一个次要版本。如果集群使用的是已弃用的功能或 API,GKE 将不会对集群进行升级。您可以使用维护排除项来暂时阻止 GKE 将集群升级到下一个次要版本。
扩展支持服务结束日期
在延长支持终止时,GKE 不会提供任何安全修复补丁,并且次要版本会被视为不受支持。无论集群是否使用已弃用的功能或 API,GKE 都会将仍在运行不受支持的次要版本的集群升级到下一个次要版本。
在支持终止时自动升级
在次要版本达到支持终止期限之前,GKE 会安排集群从一个次要版本自动升级到下一个受支持的次要版本。此升级的时间取决于集群发布渠道的时间表。如需了解详情,请参阅发布渠道的预计时间表。例如,与在快速渠道中注册的集群相比,在稳定渠道中注册的集群会在更接近标准支持终止期限时升级到下一个次要版本。
在售后支持期限内以及在扩展渠道中注册的集群的延长支持期内,您可以通过在集群级层设置维护排除项来阻止此次要版本升级,也可以选择 GKE 在发布序列中执行的升级类型。此外,如果集群使用的是已弃用的功能或 API,GKE 将不会对集群进行升级。
但是,在标准支持终止时,或者在扩展渠道中注册的集群的延长支持终止时,GKE 会自动将集群升级到下一个受支持的次要版本,以确保集群保持高效、可用和安全。
每个 GKE 次要版本都享受 14 个月的标准支持,以及 24 个月的总支持(包括延长支持)。您无法无限期地让集群保持在某个次要版本,因为运行使用不受支持的 GKE 次要版本的集群会带来重大安全、可靠性和兼容性风险,因为 GKE 不会为支持终止的次要版本提供安全补丁或 bug 修复。GKE 无法承诺在支持终止时为次要版本提供补丁或更新。
GKE 通过以下方式升级集群:
- 控制平面:当控制平面版本不再可用于创建新集群时,GKE 会自动将集群控制平面升级到受支持的版本。
- 节点:GKE 会在次要版本达到支持终止期限后自动升级运行不受支持的次要版本的节点,以帮助确保集群健康状况并符合 GKE 版本偏差政策。运行不受支持的次要版本的节点通常会在支持终止日期后的一个月内按计划自动升级到受支持的次要版本。运行不受支持的次要版本的节点在次要版本服务终止时可能不会立即升级,实际时间可能由 Google 自行决定。
同样,GKE 也会升级 90 天内未升级到新版本的集群控制平面。如需了解详情,请参阅控制平面 90 天补丁政策。
在支持终止时临时紧急阻止自动升级
作为一项临时措施,仅在没有其他选项的紧急情况下使用,您可以配置维护排除项,将支持终止时自动升级的延迟时间设置为支持终止日期后的最多 90 天,并使用默认范围“无升级”。由于运行不受支持的版本存在风险,我们不建议采用这种做法。维护排除期结束后,GKE 会升级集群。
识别运行的次要版本已超出标准支持期的集群
GKE 会识别同时满足以下两个条件的集群:
由于运行不受支持的次要版本存在风险,GKE 建议您升级这些集群。如果集群的发布渠道不支持现有版本,GKE 会将集群升级到下一个受支持的次要版本。
GKE 通过 Recommender 服务提供包含分析洞见和建议的指导。此指导不适用于在扩展渠道中注册的集群,因为这类集群可以继续运行次要版本,直到延长支持终止。如需详细了解如何管理 Recommender 提供的分析洞见和建议,请参阅利用分析洞见和建议优化 GKE 使用。
如需查找控制平面运行的版本已超过支持期限的集群,您可以使用以下任一方式:
- 使用 Google Cloud 控制台。
- 通过指定
CLUSTER_VERSION_END_OF_LIFERecommender 子类型来使用 gcloud CLI 或 Recommender API。
如需相关说明,请参阅如何查看分析洞见和建议。
如需实现此建议,请将集群的控制平面升级到受支持的次要版本。如需了解受支持的次要版本和支持终止日期,请参阅 GKE 发布时间表。或者,如果您希望继续使用现有的次要版本,直到延长支持终止,请将集群更改为扩展渠道。
延长支持期内的 Container-Optimized OS 更新
在 GKE 次要版本的延长支持期内,GKE 会为集群提供补丁升级。这些补丁升级可能包含针对 GKE 次要版本所使用的现有 Container-Optimized OS 里程碑的 Container-Optimized OS 更新。GKE 次要版本通常在标准支持期内使用一个里程碑,直到延长支持期开始。
但是,GKE 次要版本使用的 Container-Optimized OS 里程碑会达到其自身的支持终止期限,通常是在 GKE 次要版本的延长支持期内。发生这种情况时,GKE 会使用下一个 Container-Optimized OS 里程碑构建所有后续 GKE 补丁版本。如需详细了解里程碑生命周期,请参阅 Container-Optimized OS 的版本控制方案。
请查看以下场景,了解自动升级如何进行,以及当 GKE 无法再在 GKE 次要版本的相同里程碑中引入 Container-Optimized OS 更新时,集群管理员必须做出的决定。
Container-Optimized OS 里程碑在次要版本的延长支持终止之前达到支持终止期限
Container-Optimized OS 里程碑在使用该里程碑的次要版本的延长支持终止之前达到自己的支持终止期限。在此情况下,GKE 会使用下一个可用的 Container-Optimized OS 里程碑来进行未来补丁升级。GKE 会在次要版本使用的 Container-Optimized OS 里程碑达到支持终止期限之前执行此更新。
集群管理员必须评估是否要升级集群的工作器节点,因为 GKE 不会自动将这些节点升级到包含新里程碑的下一个补丁版本。您可以手动将节点升级到下一个 GKE 补丁版本,其中包含新的里程碑。或者,您也可以让节点继续运行同一 GKE 补丁版本,以避免使用新里程碑。不过,在升级到下一个补丁版本或次要版本之前,这些节点不会收到安全补丁。
Container-Optimized OS 新里程碑的自动升级
在延长支持期间,GKE 次要版本的下一个补丁版本会使用之前补丁版本中较新的 Container-Optimized OS 里程碑。当新补丁版本成为自动升级目标时,GKE 会通过以下方式自动升级集群:
- 控制平面升级:
- GKE 会照常将控制平面升级到下一个补丁版本。
- 节点升级:
- GKE 不会将节点升级到下一个补丁版本。
- 在扩展支持终止之前,GKE 会照常将节点升级到下一个次要版本。如需了解详情,请参阅在支持终止时自动升级。
由于新的里程碑版本可能会引入与您的工作负载不兼容的更改,因此 GKE 会暂停将节点自动升级到下一个补丁版本。如果您已确定工作负载与下一个 Container-Optimized OS 里程碑兼容,则可以手动升级到新的补丁版本。如果您将节点手动升级到使用新的 Container-Optimized OS 里程碑的补丁版本,GKE 会恢复对节点的自动补丁升级,因为节点现在运行的是新里程碑。
当新补丁版本使用新里程碑时的集群通知
当发生这种情况时,GKE 会发送集群通知来通知您。当使用第一个使用新的 Container-Optimized OS 里程碑的补丁版本在扩展渠道中发布时,系统会发送此通知。
收到此通知后,请评估您是要手动将节点升级到下一个补丁版本或次要版本,还是在延长支持期间不再接收此次要版本的后续补丁版本。如需了解详情,请参阅在延长支持期间新的补丁版本更改为新的 Container-Optimized OS 里程碑。
版本控制方案
Kubernetes 版本使用语义版本控制标准来表示版本号 (X.Y.Z)。GKE 会将 GKE 补丁版本号附加到 Kubernetes 版本 (X.Y.Z-gke.N)。
- Kubernetes 主要版本 (X)
- 如果向公共 API 引入任何向后不兼容的更改,则主要版本通常会递增。主要版本将 Kubernetes 版本从 X.Y 递增到 X+1.Y。
- Kubernetes 次要版本 (Y)
- Kubernetes 每年发布三次新的次要版本。每个发布周期大约为 15 周。已弃用的 API 可能会与新的次要版本(例如 1.22)一起移除。次要版本将 Kubernetes 版本从 1.Y 递增到 1.Y+1。例如,Kubernetes 1.32 是 Kubernetes 1.31 之后的次要版本。
- Kubernetes 补丁版本 (Z)
- 在次要版本发布后的 12 个月内,Kubernetes 会发布补丁版本。补丁版本将 Kubernetes 版本从 X.Y.Z 递增到 X.Y.Z+1。例如,1.32.6 是 1.32.5 之后的补丁版本。
- GKE 补丁版本 (-gke.N)
GKE 会发布与上游 Kubernetes 补丁版本对应的补丁版本。GKE 补丁版本可以包含 GKE 安全更新、功能变更和 bug 修复,以及开源 Kubernetes 软件。这些更新或修补程序是与 Google Cloud兼容和互操作所必需的。
GKE 可能会针对每个 Kubernetes 补丁程序版本发布多个 GKE 补丁程序版本。例如,Kubernetes 补丁版本 1.35.6 具有 1.35.6-gke.1638000、1.35.6-gke.1641000 和 1.35.6-gke.1250000 等 GKE 补丁版本。
GKE 补丁版本通常每周都会发布。补丁程序版本按递增方式发布到每个地区。
- GKE Alpha 版补丁版本 (X.Y+1.Z-gke.N+preview) - 仅限 Alpha 版集群
GKE 会在即将发布的 Kubernetes 次要版本发布日期之前最多四个月发布该次要版本的 Alpha 补丁版本。这些预发布补丁版本可在已在快速发布渠道中注册的 GKE Alpha 集群中用于实验和测试。Alpha 版补丁版本始终以 Kubernetes 发布周期中的下一个次要版本为目标,并在该次要版本发布之前发布。例如,如果次要版本 1.36 是最新的稳定版,而 1.37 尚未发布,则 Alpha 版补丁版本适用于版本 1.37。
查看可用版本和默认版本
如需了解可用版本,请参阅 GKE 版本说明。
如需查看默认 GKE 版本和可用 GKE 版本,请选择以下选项之一:
控制台
在 Google Cloud 控制台中,前往创建 Kubernetes 集群页面:
在位置类型部分中,选择集群控制平面的位置类型和区域或可用区。
在目标发布渠道列表中,选择一个发布渠道。
打开目标版本列表。此列表会显示相应发布渠道的所有可用 GKE 补丁程序版本。系统会自动选择发布渠道的默认补丁版本。如果您选择快速发布渠道,还会看到即将推出的次要版本的任何可用 Alpha 补丁版本。
gcloud
如需查看特定发布渠道的可用版本和默认版本,请运行以下命令之一:
查看可用的版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RELEASE_CHANNEL" \ --format="yaml(channels.channel,channels.validVersions)" \ --location=COMPUTE_LOCATION替换以下内容:
RELEASE_CHANNEL:发布渠道的名称。请指定以下某个值:RAPIDREGULARSTABLEEXTENDED
COMPUTE_LOCATION:要检查的 Compute Engine 位置。
输出类似于以下内容:
channels: channel: RAPID validVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.34.9-gke.1610000 - 1.34.9-gke.1322000 - 1.33.13-gke.1269000 - 1.33.13-gke.1109000在快速渠道中,
previewVersions字段表示即将发布的 Kubernetes 次要版本的 GKE Alpha 版补丁版本。这些版本仅适用于 Alpha 版集群。检查默认版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RELEASE_CHANNEL" \ --format="yaml(channels.channel,channels.defaultVersion)" \ --location=COMPUTE_LOCATION输出类似于以下内容:
channels: channel: RAPID defaultVersion: 1.36.2-gke.1498000检查快速渠道中可用的 Alpha 版补丁版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RAPID" \ --format="yaml(channels.channel,channels.previewVersions)" \ --location=COMPUTE_LOCATION输出类似于以下内容:
channels: channel: RAPID previewVersions: - 1.37.0-gke.2064000+preview
如需查看未使用任何渠道(已弃用)的集群的可用版本和默认版本,请运行以下某个命令:
检查默认版本:
gcloud container get-server-config \ --format="value(defaultClusterVersion)" \ --location=COMPUTE_LOCATION将
COMPUTE_LOCATION替换为您要检查的 Compute Engine 位置。输出类似于
1.35.6-gke.1127000。检查可用的控制平面版本:
gcloud container get-server-config \ --format="yaml(validMasterVersions)" \ --location=COMPUTE_LOCATION输出类似于以下内容:
validMasterVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.36.2-gke.1346000 - 1.36.0-gke.4681000 - 1.36.0-gke.4447000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.35.6-gke.1250000 - 1.35.6-gke.1127000 - 1.35.6-gke.1049000检查可用的节点版本:
gcloud container get-server-config \ --format="yaml(validNodeVersions)" \ --location=COMPUTE_LOCATION输出类似于以下内容:
validNodeVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.36.2-gke.1346000 - 1.36.0-gke.4681000 - 1.36.0-gke.4447000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.35.6-gke.1250000 - 1.35.6-gke.1127000 - 1.35.6-gke.1049000 # Multiple lines are omitted here
指定集群版本
本部分仅适用于在标准模式下创建的集群。
使用 gcloud CLI 创建或升级集群时,您可以使用 --cluster-version 标志指定集群版本。您可以使用某一特定版本,例如 1.9.7-gke.N。您还可以使用版本别名:
latest:指定集群的地区或区域中可在 GKE 上使用且受支持的最高 Kubernetes 版本。1.X:指定 1.X 次要版本中有效的最高 patch+gke.N 补丁版本1.X.Y:指定 1.X.Y 补丁版本中有效的最高 gke.N 补丁版本。-:对于集群控制层面,指定控制层面的默认 Kubernetes 版本。对于节点升级,指定集群控制平面正在运行的版本。
如果通过将版本指定为 latest 来创建或升级集群,则不提供自动升级。请启用节点自动升级功能,以确保集群中的节点始终使用最新的稳定版本。
指定节点版本
本部分仅适用于在标准模式中创建的集群。在 Autopilot 集群中,节点会自动升级到控制平面版本,您无法指定版本。
创建或升级节点池时,您可以指定其版本。默认情况下,节点与控制平面运行相同版本的 GKE。节点最多只能有两个次要版本高于控制层面。
除极少数例外情况外,即使集群版本不再可用,节点版本也仍旧可用。
控制平面 90 天补丁政策
为确保 GKE 集群及时收到关键安全补丁和其他修复,GKE 要求集群的控制平面至少每 90 天升级到新的补丁(或次要)版本。默认情况下,GKE 会自动升级集群的控制平面,频率高于每 90 天一次。不过,您可以通过配置维护排除项或选择 GKE 在发布序列中执行的升级类型来延迟这些控制平面升级。不过,与支持终止时自动升级类似,如果您有未按要求升级的 GKE 集群,GKE 会自动将您的集群升级到较新的补丁版本,而无论您配置了哪些政策。
GKE 版本偏差政策
GKE 版本偏差政策可确保 GKE 集群在控制平面和节点之间保持兼容性。在 GKE 集群中,节点可以与控制平面版本匹配,也可以低于控制平面两个次要版本。
节点无法运行高于控制平面版本的版本。例如,如果集群的控制平面运行 1.31 版,则节点可以运行以下版本:1.31、1.30 或 1.29,但不能运行 1.28 或更低版本。由于 Kubernetes OSS 版本偏差政策,节点的版本不能高于控制平面版本。
为确保可支持性和可靠性,节点应使用受支持的版本,而无需遵循有效的版本偏差。
识别含不受支持的版本偏差的集群
GKE 会识别节点由于版本偏差而运行与控制平面不兼容版本的集群。GKE 建议您升级运行此不受支持版本的节点,并通过 Recommender 服务提供包含分析洞见和建议的指导。如需详细了解如何管理 Recommender 提供的分析洞见和建议,请参阅利用分析洞见和建议优化 GKE 使用。
如需查找存在不受支持版本偏差的集群,您可以使用以下任一方式:
- 使用 Google Cloud 控制台。
- 通过指定
CLUSTER_VERSION_SKEW_UNSUPPORTEDRecommender 子类型来使用 gcloud CLI 或 Recommender API。
如需相关说明,请参阅如何查看分析洞见和建议。
如需实现此建议,请升级运行的次要版本比控制平面版本低两个以上次要版本的所有节点。
支持跳过次要版本
GKE 不允许跳过集群控制平面的次要版本,但您可以跳过补丁版本。工作器节点允许跳过次要版本。例如,节点池可以在跳过 1.33 版的同时从 1.32 版升级到 1.34 版。
如需跨多个次要版本升级集群,对于控制平面,您一次只能升级一个次要版本,并且每次将工作器节点升级到同一版本。例如,如需将控制平面从 1.32 版升级到 1.34 版,请先从 1.32 版升级到 1.33 版,然后升级工作器节点,以便与控制平面版本匹配,然后重复此过程,从 1.33 版升级到 1.34 版。
升级工作器节点以与版本匹配有助于避免版本偏差。我们建议您尽量避免跳过版本。跳过工作器节点版本通常意味着需要进行更大范围的测试,虽然可管理但需要更多考量。
或者,您可以创建具有所需版本的新集群并重新部署工作负载。
补丁版本支持
GKE 会先在快速渠道中推出补丁版本,然后逐步通过其他发布渠道推广该补丁版本。当 GKE 在发布渠道中提供某个补丁版本时,您可以创建、升级集群,或者在特定情况下将集群降级到该版本。在支持次要版本期间,GKE 会继续在发布渠道中推出该次要版本的新补丁版本。
在次要版本达到支持终止日期之前,较早的补丁版本在发布渠道中仍可用于节点,但在此日期之前,这些版本会被移除,并且无法再用于控制平面。当 GKE 移除某个补丁版本以供控制平面使用时,您将无法创建、升级或降级集群的控制平面到该移除的补丁版本。如果集群的控制平面运行的是已移除的补丁版本,我们建议您将控制平面升级到最新的自动升级目标版本。
控制平面的补丁版本弃用
以下信息适用于已在常规渠道中引入次要版本的任何补丁版本。
在 GKE 从发布渠道中移除补丁版本以供集群控制平面使用之前,GKE 会弃用该补丁版本。虽然已弃用的补丁版本不再列为可用于控制平面的版本,但您仍可以使用这些版本来创建、升级或降级控制平面。
我们建议您尽快升级到更新的补丁版本;只有在您的环境的发布流程严格禁止您尽快升级的情况下,才使用已弃用的版本。GKE 会弃用补丁版本 90 天,或者直到次要版本达到标准支持终止日期(常规、稳定、无渠道)或扩展支持终止日期(扩展渠道)。
Alpha 版支持
Alpha 版是 GKE 在即将发布的 Kubernetes 次要版本发布前最多四个月发布的 GKE 补丁程序版本,该次要版本在发布后可供快速渠道中的所有集群使用。这些 Alpha 版仅在 GKE Alpha 版集群中提供,适用于想要试用即将推出的功能但对稳定性和支持没有要求的尝鲜者。
快速渠道针对即将推出的次要版本提供 1 到 3 个 Alpha 版补丁版本。在 GKE 向快速渠道中的所有集群提供次要版本之前的几个月内,GKE 会推出新的 Alpha 版补丁版本并移除现有版本。由于 Alpha 版补丁版本仅在 Alpha 版集群中提供,因此请注意以下事项:
- 您无法将 Alpha 版集群升级到新版本。如需测试新的 Alpha 版,请创建运行该版本的 Alpha 版集群。
- 运行已移除的 Alpha 版的 Alpha 版集群会继续存在,直到集群在创建 30 天后过期,或者直到您删除集群。
- 针对特定系统组件中的 CVE 和 bug 的修复不会追溯应用到现有的 Alpha 补丁版本。如需获取这些修复,您必须创建一个运行较新 Alpha 版补丁程序的 Alpha 版集群。
GKE 在快速渠道中发布稳定的次要版本后,会移除该次要版本的 Alpha 补丁版本。发布周期中下一个次要版本的 Alpha 版会在该次要版本的发布日期之前最多四个月在快速渠道中提供。
Alpha 版生命周期
Alpha 版生命周期包含以下里程碑:
- Kubernetes 发布了即将推出的次要版本 (
X.Y+1.0-alpha.0) 的第一个开发版本。 - 在即将发布的次要版本发布日期之前最多四个月,GKE 会在快速渠道 (
X.Y+1.0-gke.N+preview) 中针对该次要版本引入 Alpha 版补丁版本。 - Kubernetes 发布稳定次要版本 (
X.Y.0)。 - GKE 在快速渠道中提供稳定的次要版本 (
X.Y.0-gke.N)。GKE 从快速渠道中移除该次要版本的 Alpha 版。
Alpha 版的生命周期不会影响 GKE 次要版本生命周期。