将审批添加到 Azure Kubernetes Fleet Manager 更新策略(预览版)。

在更新运行中的多个群集时,平台管理员通常会执行更新前和更新后检查。 这些检查可确保群集已准备好更新,或者更新不会对群集作产生负面影响。

Fleet Manager 提供审批关卡,允许平台管理员手动或通过自动化执行所有必要检查,以便更新运行继续。 例如,更新运行过程中,在测试阶段和生产阶段之间设置审批门,这意味着可以在测试群集上进行健康状况检查,以确保可以安全地进入生产阶段。

本文介绍如何在更新运行和策略中定义审批,以及如何在更新运行执行期间批准它们。

重要

Azure Kubernetes 舰队管理器预览功能可以通过自助服务方式选择性启用。 预览版按“现状”和“视供应情况”提供,它们不包括在服务级别协议和有限保证范围内。 客户支持部门会尽力为 Azure Kubernetes 舰队管理器预览功能提供部分支持。 因此,这些功能并不适合用于生产。

先决条件

  • 请参阅舰队更新的概念概述,其中提供了本指南中引用的更新运行、阶段、组和策略的说明。

  • 必须具有包含一个或多个成员群集的舰队资源。 如果没有,请按照快速入门创建舰队资源,并将 Azure Kubernetes 服务 (AKS) 群集加入其中。

  • 设置以下环境变量:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export CLUSTERID=<aks-cluster-resource-id>
    export STRATEGY=<strategy-name>
    
  • 如果按照本文中的 Azure CLI 说明进行作,则需要安装 Azure CLI 2.70.0 或更高版本。 若要安装或升级,请参阅安装 Azure CLI

  • 还需要 fleet Azure CLI 扩展 1.6.0 或更高版本,可以通过运行以下命令进行安装:

    az extension add --name fleet
    

    运行 az extension update 命令,更新到最新发布的扩展版本:

    az extension update --name fleet
    

在更新策略中设置审批流程

可以在创建更新策略时配置审批,也可以在使用 阶段 作为更新序列类型创建更新运行时配置审批。

注释

审批不能与 逐一 更新序列一起使用。

审批可以放置在更新策略中的任何更新阶段或更新组中,并且可以位于执行阶段或组 之前之后 。 下面是有关如何使用此功能的一些示例:

  • 生产阶段开始前的审批意味着生产阶段更新会在获得审批之后才开始。 审批确认可以是手动的,也可以通过自动化进行。
  • 每个组获得审批后,意味着可以对这些组中的群集进行运行状况检查。 审批会等待,直到用户确认应用程序在更新的群集上正常运行。

在更新策略中配置阶段和组审批

  1. 在 Azure 门户中,导航到 Azure Kubernetes 舰队管理器资源。

  2. 在服务菜单中的“设置”下,选择“多群集更新”“策略”>,然后选择“创建”

  3. 输入策略的名称,然后在 “更新序列 ”下选择“ 创建阶段”。

  4. 输入 阶段名称 ,然后选择 “设置阶段审批”。

    用于在策略中配置审批的 Azure 门户窗格的屏幕截图。将显示“创建阶段”窗格。

  5. 在右侧的边栏中,选择是否想要 阶段之前和/或 阶段之后 的批准。

  6. 输入 审批名称 。 当更新运行正在执行时,会显示此名称,可帮助为审批者提供上下文。

  7. 在审批边栏中选择“ 保存 ”。

    用于在策略中配置审批的 Azure 门户窗格的屏幕截图。将显示用于输入审批名称的边栏。

  8. 还可以在单个群组上配置审批。 为此,在 更新组 下,选择要添加审批的组,然后选择 设置组审批

  9. 如前面所述的阶段所述,使用审批边栏配置审批前后及其名称。

  10. 在审批边栏中选择“ 保存 ”。

  11. 选择 创建

有关详细信息,请阅读 有关创建更新策略的指南

更新运行中定义组和阶段时,还可以配置审批。

了解审批状态

审批表示为控制更新运行流的 入口 。 门的状态表示它是否获得批准。 更新运行本身也会维持网关的状态。 下面是更新过程中可以看到的所有门状态的列表:

  • 未启动:在更新运行到达入口之前,将显示为 NotStarted
  • 挂起:当关卡正在等待批准时,它处于状态 Pending
  • 已跳过:如果一个组或阶段被跳过,则该组或阶段中的所有门都会自动移动到 Skipped 状态。
  • 完成:一旦一个关卡被批准,它将显示为

在更新运行期间授予审批

启动包含审批的策略的更新运行后,更新运行将继续执行,直到达到其中一个配置的审批。 此时,更新将不会继续,直到获得你的批准才能继续。

注释

更新组并行执行。 因此,一个组的批准仅影响该组,而不会影响任何其他组。 如果要阻止多个组,请对每个组使用单个阶段审批或一个组审批。

  1. 在 Azure 门户中,导航到 Azure Kubernetes 舰队管理器资源。

  2. 在服务菜单中的 “设置”下,选择 “多群集更新”。

  3. 等待审批的更新运行在表格的状态栏中显示等待审批

    用于多群集更新的 Azure 门户窗格的屏幕截图。显示更新运行的表,其中包括一些待审批的项。

  4. 选择要授予审批的更新运行中的待审批

  5. 在右侧边栏中,观察待审批的详细信息。

  6. 选择您要批准的项目。

  7. 选择批准

    待审批的 Azure 门户窗格的屏幕截图。

清理

更新运行完成后,可能需要清理已创建的入口资源。 或者,如果在列出所有挂起的入口时看到剩余审批,则可以使用这些步骤来删除它们。

注释

无法直接删除盖茨。 相反,必须删除与入口关联的更新运行。 这会自动删除与更新运行关联的 所有 入口。

  1. 在 Azure 门户中,导航到 Azure Kubernetes 舰队管理器资源。

  2. 在服务菜单中的 “设置”下,选择 “多群集更新”。

  3. 选择与要删除的入口关联的更新运行。

  4. 选择 删除

  5. 在右侧边栏中,确认显示正确的更新运行,然后选择“ 删除”。

  6. 在弹出窗口中,选择“ 删除”。

后续步骤