使用发布渠道


作为平台管理员,您可以为集群选择特定发布渠道,以确保 GKE 自动将集群升级到可在功能可用性和稳定性之间达到您所选择的平衡性的版本。如需详细了解发布渠道,请参阅发布渠道简介

GKE 会在发布渠道中注册所有 Autopilot 集群,并默认在发布渠道中注册 Standard 集群。对于所有集群模式,您都可以选择特定发布渠道。对于 Standard 集群,您可以选择不在发布渠道中注册集群。

本页面介绍如何执行与发布渠道相关的操作:

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。
  • 如果您想在扩展渠道中注册集群,请确保您已查看扩展支持的价格。如果项目已启用 GKE Enterprise,则您可以在扩展渠道中注册集群,而无需额外付费。或者,对于 GKE Standard 版本集群,当您的集群已在扩展渠道中注册并且集群的次要版本进入扩展支持期时,系统将按用量收费。

在发布渠道中注册集群

本部分介绍如何为新集群或之前未使用发布渠道的现有集群选择特定发布渠道。您还可以为已在发布渠道中注册的现有集群更改发布渠道

在特定发布渠道中注册新集群

默认情况下,所有集群都在常规发布渠道中注册。您可以在创建集群时为集群选择特定发布渠道,也可以在创建集群后更改发布渠道。Autopilot 集群必须在发布渠道中注册。Standard 集群可以在发布渠道中注册或取消注册。 对于扩展渠道,请在选择此渠道之前查看通过扩展渠道获取长期支持

您可以使用 Google Cloud 控制台或 gcloud CLI 在特定发布渠道中创建和注册新集群。

控制台

请根据集群模式,按照以下步骤创建集群:

  • 对于 Autopilot 集群

    1. 在 Autopilot 集群创建页面的导航窗格中,点击高级设置

      创建 Autopilot 集群

    2. 发布渠道下拉列表中,选择要在其中注册集群的发布渠道,或者保留默认值常规版

  • 对于 Standard 集群

    1. 在 Standard 集群创建页面的集群基本信息部分中,进入发布渠道子部分:

      创建一个 Kubernetes 集群

    2. 发布渠道下拉列表中,选择要在其中注册集群的发布渠道,或者保留默认值常规版

gcloud

如需在特定发布渠道中创建和注册 Autopilot 集群,请运行以下命令:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION
    --release-channel=CHANNEL

如需在特定发布渠道中创建和注册 Standard 集群,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --release-channel=CHANNEL

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • CLUSTER_LOCATION:新集群的 Compute Engine 位置
  • CHANNEL:发布渠道的类型:rapidregularstable 或(仅用于 Standard 集群的)extended

如需查看您可以指定的其他选项的列表,请参阅 gcloud container clusters create-autogcloud container clusters create 参考文档。

您还可以使用 --cluster-version 标志创建特定版本的集群。如果您未指定发布渠道,则 GKE 会在提供该版本的最成熟发布渠道中注册您的集群。

或者,如果您未指定发布渠道或集群版本,则集群默认为默认版本的常规发布渠道。

注册现有集群

只要集群的控制平面次要版本在目标发布渠道中可用,您便可以在发布渠道中注册现有集群。如需检查集群的控制平面次要版本在目标发布渠道中是否可用,请查看发布渠道的默认版本和可用版本。如需详细了解如何将集群的控制平面版本与目标发布渠道的可用版本保持一致,请参阅选择新的发布渠道

GKE 不需要停机即可更改集群的发布渠道注册。但是,GKE 可能会在不同发布渠道中提供不同的自动升级,这意味着在进行更改后,GKE 可能会自动升级集群。我们建议您使用维护窗口和排除项来控制升级的时间。

如需注册,请将集群发布渠道更新为目标 CHANNEL

注册未在发布渠道中注册且已停用节点自动升级的现有集群

如果您有一个未在发布渠道中注册的现有 Standard 集群,并且您已为集群的一个或多个节点池停用节点自动升级,但您想访问发布渠道的其他功能,则可以改为使用维护排除项来阻止节点升级。如果您改用发布渠道并使用维护排除项,则无法在节点池级别阻止节点自动升级,只能在集群级别阻止。但是,您始终可以手动升级节点池。

请按照以下步骤在继续阻止自动节点升级的同时,在发布渠道中注册现有集群:

  1. 配置维护排除项,范围为“无升级”。这是未在发布渠道中注册的集群唯一可用的维护排除项范围。这样可以防止集群在所选发布渠道中存在新的符合条件的自动升级目标时立即自动升级。
  2. 在目标发布渠道中注册现有集群。进行此项更改后,GKE 会对节点池的设置进行以下更改:
    1. GKE 会为已停用该功能的所有节点池启用节点自动升级设置,但不会自动升级节点,因为您已在第 1 步中配置了维护排除项。
    2. GKE 会为已停用该功能的所有节点池启用节点自动修复,但如果您想继续停用节点自动修复,可以使用 gcloud CLI 再次停用节点自动修复
  3. 配置维护排除项,范围为“无次要版本或节点升级”。这样可以阻止除控制平面补丁升级以外的所有升级。现在,您的集群已在发布渠道中注册,您可以使用此维护排除项范围,该范围可持续到集群发布渠道中次要版本的支持终止日期。
  4. 现在,您在上一步中添加了新的维护排除项,请移除在第 1 步中创建的维护排除项。

完成这些步骤后,您将拥有一个集群,其中 GKE 不会自动升级节点,直到您移除维护排除项,或者节点的次要版本支持终止期限。

查找集群的发布渠道

您可以使用 Google Cloud 控制台或 gcloud CLI 确定集群的发布渠道。

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击您要检查的集群的名称。

  3. 集群基本信息下,检查发布版本字段中的值(例如常规版本)。

如果值为,则表示集群未在发布渠道中注册。

gcloud

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION --format="value(releaseChannel.channel)"

替换以下内容:

如果输出为空,则表示集群未在发布渠道中注册。

查看发布渠道的默认版本和可用版本

如需使用 Google Cloud 控制台或 gcloud CLI 检查特定发布渠道中可用的版本,请按照说明检查可用版本和默认版本

更改集群的发布渠道

如果目标发布渠道中提供了控制平面的次要版本,您可以更改集群的发布渠道。您可能需要将集群的控制平面升级或降级到可用版本。

如需检查集群的控制平面版本在目标发布渠道中是否可用,请查看发布渠道的默认版本和可用版本。版本必须在目标渠道中可用。

  • 如果目标发布渠道中提供了集群的控制平面版本,您可以选择新的发布渠道。
  • 如果集群的控制平面版本在目标发布渠道中不可用,您可以将集群的控制平面升级到可用版本。或者,如果目标渠道只有早期版本,您可以降级集群,前提是目标版本是来自同一次要版本的早期版本补丁

如需选择新的发布渠道,请将集群发布渠道更新为目标 CHANNEL。如果要在选择新渠道时暂时阻止集群自动升级,请在选择新渠道之前配置维护排除项

如果由于集群运行的版本在目标发布渠道中不可用,因而无法选择该发布渠道,则可以执行以下操作:

  1. 配置维护排除项,范围为“无次要升级”。
  2. 等待目标发布渠道提供集群的 Kubernetes 次要版本。
  3. 在目标发布版本中注册现有集群

或者,您也可以在目标渠道中创建新集群并迁移工作负载。

将集群更改为扩展渠道

如需获得长期支持,从而尽可能长时间地让集群使用该版本,您可以在扩展渠道中注册集群。

请确保查看在扩展渠道中注册集群的价格以及功能限制。如果您的集群使用某些功能,则您无法在扩展渠道中注册集群。

从扩展渠道更改集群

如果集群在扩展支持期内在扩展渠道中注册,则集群可以继续运行其他渠道不支持的次要版本。如果要在次要版本不受支持的情况下从扩展渠道更改集群,则必须执行以下步骤:

  1. 完成以下两个步骤(可以按任意顺序执行):
    1. 手动将集群升级到处于目标发布渠道提供的标准支持期内的次要版本。
    2. 移除或修改结束日期超过该较新的受支持次要版本的标准支持结束日期的任何维护排除项。
  2. 更新集群的发布渠道

更新集群发布渠道

您可以使用 Google Cloud 控制台或 gcloud CLI 更改集群的发布渠道。

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击您要检查的集群的名称。

  3. 集群基本信息下的发布渠道字段中,点击

  4. 发布渠道下拉列表中,选择目标发布渠道。

  5. 阅读警告,并选择我了解版本升级期间可能会产生停机时间以进行确认。

  6. 点击保存更改

gcloud

更改现有集群的发布渠道属性:

gcloud container clusters update CLUSTER_NAME \
  --release-channel CHANNEL

请替换以下内容:

  • CLUSTER_NAME:您的集群的名称。
  • CHANNEL:目标发布渠道,可以是 rapidregularstable 以及(仅用于 Standard 集群的)extendedNone 之一。

从发布渠道退订

虽然您可以从发布渠道退订 Standard 集群,但我们强烈建议您查看已注册发布渠道和未注册发布渠道的集群之间的比较,以确保您了解在发布渠道中注册集群和不注册集群之间的权衡和取舍。

您可以使用 Google Cloud 控制台、gcloud CLI 或 Kubernetes Engine API 执行此操作。您还可以在集群创建期间指定不想在发布渠道中注册 Standard 集群。您无法从发布渠道退订 Autopilot 集群

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击您要检查的集群的名称。

  3. 集群基本信息下的发布渠道字段中,点击

  4. 从下拉菜单中选择静态版本

  5. 阅读警告,并选择我了解版本升级期间可能会产生停机时间以进行确认。

  6. 点击保存更改

gcloud

将集群的发布渠道更新为 None 值:

gcloud container clusters update CLUSTER_NAME \
  --release-channel None

API

在创建或更新集群时指定 "releaseChannel": { "channel": UNSPECIFIED}

识别未在发布渠道中注册的集群

如果您的 GKE Standard 集群未在发布渠道中注册,并且所有节点池都已启用节点自动升级,我们建议您将集群注册到发布渠道。GKE 通过 Recommender 服务提供数据分析和建议,以提供此类指导。此指导不适用于 Autopilot 集群,因为 Autopilot 集群始终在发布渠道中注册。

如需查找未在发布渠道中注册的集群,您可以使用 Google Cloud 控制台,也可以使用 gcloud CLI 或 Recommender API 搜索此指导,方法是指定 CLUSTER_RELEASE_CHANNEL_UNSPECIFIED recommender 子类型。如需相关说明,请参阅如何查看数据分析和建议

如需实施此建议,请按照说明注册现有集群。如需详细了解您是否要实施此建议,请参阅发布渠道简介。如需比较已在发布渠道中注册或未在发布渠道中注册的集群的功能,请查看已注册发布渠道和未注册发布渠道的集群之间的比较

后续步骤