全局虚拟机扩展程序政策

本文档简要介绍了虚拟机扩展程序管理器中的全局政策。 您可以使用全局扩展程序政策来管理项目中的多个可用区和区域中的扩展程序。应用全局政策后,虚拟机扩展程序管理器会确保符合政策条件的任何区域或可用区中的虚拟机都安装并运行指定的扩展程序。

如需了解详情,请参阅虚拟机扩展程序管理器简介

下图说明了如何使用全局扩展程序政策将扩展程序应用于项目中不同可用区和区域中的虚拟机:

虚拟机扩展程序管理器架构图,显示了应用于跨可用区和区域的虚拟机的全局政策。

如上图所示,您可以在项目级定义全局扩展程序政策。虚拟机扩展程序管理器会将此政策应用于符合您选择条件的所有虚拟机。例如,您可以选择项目中所有可用区和区域中带有 env=prod 标签的虚拟机。在这种情况下,虚拟机扩展程序管理器只会将您指定的扩展程序(例如 Ops Agent 和 Extension for SAP)应用于这些虚拟机。

全局政策的发布方案

全局政策使用发布方案来管理跨可用区和区域的扩展程序部署。借助发布方案,您可以控制扩展程序的部署,这有助于最大限度地降低出现大范围问题的风险。通过使用发布方案,您可以定义更新的顺序和时间,以确保逐步且受控的发布。

创建或更新全局政策时,您可以指定以下发布方案之一:

  • 发布速度较慢 。此发布方案会在一段时间内逐步跨不同可用区部署扩展程序。此发布方案的默认时间段为 5 天。建议采用这种方法,因为它可以让您在早期发布中发现并解决潜在问题,避免这些问题影响整个舰队。
  • 发布速度较快 。此发布方案会立即将扩展程序部署到所有可用区和区域中的所有目标虚拟机。如果您需要在非生产环境中快速部署扩展程序或补丁,此方法非常有用。

您还可以定义自定义发布方案,以根据可用区或区域指定部署批次以及批次之间的等待时间。如需了解详情,请参阅 rolloutPlans.insert 方法

发布冲突行为

创建或更新全局扩展程序政策时,在以下情况下可能会发生冲突:

  • 创建全局政策时 。如果可用区中已存在与全局政策同名的可用区政策,则会发生政策名称冲突。
  • 更新全局政策时 。如果现有可用区政策是独立于全局政策发布而修改的,则会发生政策内容冲突。例如,如果您使用可用区 API 调用修改可用区政策,而后续的全局政策发布尝试修改同一可用区政策,则会发生冲突。

为帮助您避免这些冲突,您可以为发布指定冲突行为。此设置用于确定全局政策是否应在发布期间覆盖冲突的可用区政策。您可以指定以下行为之一:

  • 不覆盖(默认)。如果您未指定冲突行为,则全局政策发布不会覆盖冲突的可用区政策。 可用区政策的配置在该可用区中优先。
  • 覆盖 。如果您将冲突行为设置为 overwrite,则全局政策会覆盖冲突的可用区政策,并且全局政策的配置会应用于该可用区。

发布冲突和政策优先级是独立运行的不同功能。如需详细了解政策优先级, 请参阅 政策优先级和冲突 解决

如需详细了解发布冲突,请参阅 conflictBehavior 方法中的 globalVmExtensionPolicies.insert 参数

重试发布

更新或删除全局扩展程序政策时,虚拟机扩展程序管理器会启动新的发布,以根据发布方案应用更改。如果发布中断或添加了新的可用区,您可以为同一政策启动新的发布来重试该操作。

重试更新政策发布

以下列表介绍了您可能需要重试更新政策发布的情况:

  • 添加了新的可用区 。如果您发布全局政策后有新的 Google Cloud 可用区可用,虚拟机扩展程序管理器不会自动 将现有政策应用于新可用区中的虚拟机。您可以重试更新发布,将扩展程序政策应用于新可用区中的虚拟机。
  • 还原可用区政策更改 。如果可用区政策是独立修改的(例如,使用可用区 API 调用修改可用区政策),您可以重试更新发布,并将 conflictBehavior 设置为 overwrite。此设置会重新应用全局政策的配置并覆盖可用区政策更改。
  • 发布中断 。如果之前的发布在完成之前失败,您可以启动新的发布来重试更新。
  • 加快发布速度 。如果正在进行的发布进度过慢,您可以使用 FAST_ROLLOUT 方案或自定义发布方案启动新的发布,以加快更新过程。

如需了解详情,请参阅 retryUuid 参数在 globalVmExtensionPolicies.update 方法

重试发布时,您必须提供通用唯一标识符 (UUID) 来标识重试请求。 您可以使用任何 UUID 生成器来创建一个。UUID 必须使用 32 个字符的十六进制格式,例如 a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8

重试删除政策发布

以下列表介绍了您可能需要重试发布以删除政策的情况:

  • 发布中断 。如果之前删除政策的发布中断或未成功完成,您可以启动新的发布来重试删除操作。
  • 加快发布速度 。如果正在进行的删除发布进度过慢,您可以使用 FAST_ROLLOUT 方案或自定义发布方案启动新的发布,以加快删除过程。

如需了解详情,请参阅 retryUuid 参数在 globalVmExtensionPolicies.delete 方法

后续步骤

如需详细了解如何管理扩展程序,请参阅以下资源: