本页面介绍了 Google Kubernetes Engine (GKE) 集群的集群升级概念。如果您熟悉集群 升级的工作原理,请改为参阅实施升级 集群的最佳实践。
什么是集群升级?
GKE 中的 Kubernetes 集群 由控制平面和运行用户工作负载的工作器节点组成。控制平面和工作器节点都运行 Kubernetes 版本。GKE 会自动升级控制平面和节点的版本,以确保集群接收新功能、bug 修复和安全补丁。如需详细了解 GKE 如何为您的集群选择版本,请参阅 GKE 版本控制和支持。
GKE 会执行以下类型的集群升级,包括控制平面升级和节点升级:
对于未在发布渠道中注册 (已废弃)的集群, GKE 也会自动升级控制平面和节点。 如需了解 GKE 如何为这些集群选择自动升级目标, 请参阅 升级时间行,该行位于比较已在发布渠道中注册和未在发布渠道中注册的集群的表 中。
您还可以手动 升级集群的控制 平面和节点到可用版本,而不是让 GKE 执行自动升级。使用 GKE 功能选择 GKE 何时以及如何升级集群。如需了解详情,请参阅控制 集群升级。
获取有关集群升级的信息
通过以下资源可获取有关当前升级的详细信息:
- 如需了解特定集群的升级(包括当前 自动升级目标),请参阅了解集群 升级。
- 如需检索常规自动升级目标,请参阅当前 版本表。如需了解与集群次要版本的具体映射,请参阅 版本更新版本说明。
- 查看 GKE 发布时间表 以合理预计次要版本何时可供升级, 以及何时达到 支持终止期限。
- 使用 集群通知 通过 Cloud Logging 或 Pub/Sub 及时了解集群的升级事件,例如计划的集群升级 (预览版)。
使用 数据分析和建议 可获得以下特定于集群的建议:
控制集群升级
作为平台管理员,您希望在最大限度地减少对工作负载造成的中断的同时,确保工作负载具有出色的性能、可靠性和安全性。在 GKE 共担责任模型中,GKE 的责任是升级集群,以使其保持运行状态,从而处理您的工作负载。
在与 GKE 共担责任的过程中,您必须准备工作负载以进行集群升级。 您无法完全停用自动升级,但可以控制 GKE 何时以及如何执行升级。
如需管理针对您的工作负载优化的 GKE 集群升级,请使用以下功能:
- 发布渠道:选择发布渠道,以便为集群选择可兼顾功能可用性和稳定性的版本。
- 维护窗口:指定可以进行某些类型的 GKE 集群维护(例如升级)的周期性时间段。
- 维护排除项:阻止在特定时间段内进行集群维护。
- 集群中断 预算: 自定义特定类型集群 升级(包括补丁升级或次要升级)之间的最短时间间隔。
- 节点升级 策略: 如果使用 Standard 节点池,请选择节点更新方式(超额配置升级、蓝绿升级或自动扩缩的蓝绿升级 [预览版]),以最大限度地减少对工作负载造成的中断。此外,还可以选择 GKE 在集群中同时自动升级的节点池数量。
- 发布序列:在 GKE 升级生产集群之前,先在预生产环境中评估升级是否符合条件。
- 手动升级:手动升级集群,并执行取消、恢复、回滚和完成自动或手动进行中的升级等操作。
了解上述功能后,您将能够实施升级集群的最佳实践。
为了最大限度地提高工作负载可用性,还请采用管理和监控集群以及准备工作负载中所述的建议和方法。
什么是自动集群控制平面升级?
GKE 会定期将集群的控制平面升级到更高的 Kubernete 稳定次要版本和补丁版本。GKE 会根据集群的发布渠道注册情况为集群选择新版本。
对于补丁版本升级,GKE 会通过一步升级直接将控制平面升级到更高版本。对于 GKE 1.33 或更高版本的次要版本升级,GKE 会使用两步升级,您可以在一段过渡时间内验证新的次要版本,并在需要时回滚。如需详细了解这些方法,请参阅升级 集群的控制 平面。
在整个 GKE 集群舰队中,自动升级通常在数周内分阶段执行。 由于基础设施安全性对于 GKE 而言具有较高的优先级,因此控制平面升级会定期进行,并且无法停用。
虽然您无法停用控制平面升级,但可以使用 维护 排除项 来暂时阻止所有控制平面升级(包括次要升级和补丁 升级),最长可达 90 天,无论集群是否已在 发布渠道中注册都是如此。对于已在发布渠道中注册的集群,您可以阻止次要版本升级,直至次要版本达到支持终止期限为止。
您可以使用维护窗口设置 GKE 可以升级控制平面的周期性时间段。
什么是自动集群节点升级?
GKE 会通过以下方式自动升级集群节点,具体取决于集群和节点的类型:
- 对于 Autopilot 集群,节点始终会自动升级到控制平面的版本。
对于 Standard 集群,GKE 会执行以下操作:
- 对于 Standard 节点池,节点默认会自动升级 到相应的 自动升级 目标( 例如控制平面)。如果需要,您可以使用维护排除项停用节点自动升级。您还可以手动升级此类节点池。
- 对于 Autopilot 管理的节点 池, 节点会随着时间的推移自动升级到控制平面的版本 。您还可以手动升级此类节点池。
对于这两种集群模式,您可以使用维护窗口和排除项来控制节点升级的时间和范围,如下所示:
- 对于已在发布渠道中注册的集群,您可以使用维护排除项来阻止节点自动升级,直至节点的次要版本达到支持终止期限为止。您可以对 GKE 集群中的所有节点执行此操作,也可以仅对 具有 节点池维护 排除项的 Standard 集群中的特定节点池执行此操作。
- 对于未在发布渠道中注册 (已废弃) 的 Standard 集群,您可以在集群级层阻止节点自动升级,最长可达 90 天。 您可以在 Standard 节点池级层停用 自动升级 ,直到节点池的次要版本达到标准 支持终止期限。
无论何时计划推迟节点自动升级,都请考虑 GKE 集群节点的以下限制条件:
- 节点版本不能晚于控制平面版本两个次要版本。
- 节点无法运行比集群当前控制平面版本更高的版本。
- 节点无法运行已达到支持终止期限的次要版本。对于大多数发布渠道中的集群,这意味着标准支持终止。对于在扩展渠道中注册的集群,这意味着扩展支持终止。如需检查集群的渠道中是否仍支持某个次要版本,请参阅 发布渠道的预计时间表。
如需详细了解这些限制条件,请参阅 GKE 版本偏差政策。
自动升级节点以实现安全性和兼容性
如果您使用维护窗口和排除项阻止集群升级,或者在集群未在发布渠道中注册时为特定 Standard 节点池停用节点自动升级,则在某些情况下,GKE 可能会出于安全性和兼容性目的自动升级集群。无论这些阻碍因素如何,GKE 升级集群的一些原因都包括:
- 运行支持终止版本的集群控制平面。
- 运行支持终止版本的集群节点。
- 状态循环集群,定义为状态在正在运行、已降级、正在修复、或已暂停之间不断循环的集群。
如需了解详情,请参阅在支持终止时自动升级和托管式平台和共担责任。
通过 GKE 集群生命周期管理进行升级和更新
在 GKE 中,集群升级和集群更新具有相关含义。
在 GKE 中,集群升级或简称“升级”是指更新控制平面(控制平面升级)或节点(节点升级)的 Kubernetes 版本,或同时更新两者。使用 Standard 集群时,节点升级也可以称为节点池升级,因为 GKE 使用单个操作来升级节点的节点池。
术语“集群更新”(或简称“更新”)是一个更通用的术语,指的是任何类型的控制平面或节点更改,包括更新其版本。GKE 通过执行升级、其他类型的更新和必要的维护操作来主动管理您的集群环境。这些操作可确保您的集群始终具有出色的性能、安全性,并且使用最新的功能和 bug 修复。GKE 使用节点升级策略和维护政策等工具,以最大限度地减少这些过程中发生的中断情况。
如需详细了解如何管理所有集群生命周期更改(包括升级),请参阅管理集群生命周期更改,以最大限度地减少中断。
后续步骤
- 详细了解 Autopilot 集群升级。
- 详细了解 Standard 集群升级。
- 详细了解 GKE 版本控制和支持。
- 详细了解 GKE 版本说明。
- 了解如何配置节点自动升级。