你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

创建混沌试验以关闭区域中的所有目标

可以在混沌试验中使用动态设定目标功能,根据试验运行时评估的标准来选择一组目标运行试验。 本文会介绍如何根据可用性区域动态确定虚拟机规模集以关闭实例。 运行此试验可以帮助你测试在发生中断时进行的故障转移(故障转移到另一区域中的 Azure 虚拟机规模集实例)。

可以使用这些相同的步骤针对任何支持动态目标确定的故障设置并运行试验。 目前,只有虚拟机规模集关闭支持动态目标确定。

先决条件

在虚拟机规模集上启用 Chaos Studio

Azure Chaos Studio 无法针对资源注入故障,直到该资源已添加到 Chaos Studio。 若要将资源添加到 Chaos Studio,请在资源上创建目标和功能

虚拟机规模集只有一种目标类型 (Microsoft-VirtualMachineScaleSet) 和一种功能 (shutdown)。 其他资源最多可以有两种目标类型。 一种目标类型用于服务直接故障。 另一种目标类型用于基于代理的故障。 其他资源可能还有许多其他功能。

  1. 打开 Azure 门户

  2. 在搜索栏中搜索“Chaos Studio”

  3. 选择“目标”然后找到虚拟机规模集资源。

  4. 选择该虚拟机规模集资源,然后选择“启用目标”>“启用服务直接目标”。

    显示了 Chaos Studio 中“目标”屏幕的屏幕截图,其中选择了虚拟机规模集资源。

  5. 选择“审阅 + 启用”>“启用”。

你现在已成功地将虚拟机规模集添加到 Chaos Studio。

创建试验

现在,可以创建试验。 混沌试验定义了要针对目标资源执行的操作。 操作将按顺序组织并运行。 混沌试验还定义了要针对分支执行的操作(它们将并行运行)。

  1. 在 Chaos Studio 中,转到“试验”>“创建”>“新建试验”。

    显示“试验”屏幕的屏幕截图,其中突出显示了“创建”按钮。

  2. 为符合资源命名准则的试验添加名称。 选择“下一步: 试验设计器”。

    显示“试验创建”屏幕的屏幕截图,其中突出显示“下一步”按钮。

  3. 在步骤 1 和分支 1 中,选择“添加操作”>“添加错误”

    显示“试验创建”屏幕的屏幕截图,其中突出显示“添加错误”按钮。

  4. 选择“VMSS 关闭(版本 2.0)”错误。 选择所需的持续时间以及是否要突然关闭。 选择“下一步: 目标资源”。

    显示错误详细信息视图的屏幕截图。

  5. 选择要在试验中使用的虚拟机规模集资源。 选择“下一步:作用域”。

    显示错误详细信息视图的屏幕截图,其中选择了虚拟机规模集资源。

  6. 在“区域”下拉列表中,择虚拟机规模集实例中需要关闭的虚拟机所在的区域。 选择 添加

    显示错误详细信息视图的屏幕截图,仅选择了“区域 1”。

  7. 选择“ 查看 + 创建”>“创建”以保存试验。

向虚拟机规模集授予试验权限

创建混沌试验时,Chaos Studio 会创建系统分配的托管标识,用于针对目标资源执行故障。 若要成功运行试验,必须向此标识提供目标资源的适当权限。 可将这些步骤用于任何资源和目标类型,方法是修改步骤 3 中的角色分配以匹配该资源和目标类型的相应角色

  1. 转到虚拟机规模集资源,然后选择“访问控制 (IAM)”>“添加角色分配”

    显示虚拟机规模集资源页的屏幕截图。

  2. 在“角色”选项卡上,选择“虚拟机参与者”,然后选择“下一步”

    显示虚拟机规模集访问控制概述的屏幕截图。

  3. 选择“选择成员”,然后搜索试验名称。 选择试验,然后选择“选择”。 如果同一租户中存在多个名称相同的试验,则会通过添加随机字符截断试验名称。

    显示访问控制概述的屏幕截图。

  4. 选择“审阅 + 分配”>“审阅 + 分配”。

    显示访问控制确认页的屏幕截图。

运行试验

现在,你已准备就绪,可以开始运行试验。

  1. 在 Chaos Studio 中,转到“试验”视图,选择试验,然后选择“开始试验”

    显示“试验”视图的屏幕截图,其中突出显示了“开始”按钮。

  2. 选择“确定”以确认要启动试验。

  3. 当“状态”更改为“正在运行”时,在“历史记录”下选择上次运行的“详细信息”,以查看正在运行的试验的详细信息。 如果发生任何错误,可以在“详细信息”中加以查看。 选择失败的操作并展开“失败的目标”

拖要查看效果,请使用 Azure Monitor 或门户的“虚拟机规模集”部分等工具来检查虚拟机规模集目标是否已关闭。 如果它们已关闭,请查看虚拟机规模集上运行的服务是否仍按预期运行。

在此示例中,混沌试验已按预期成功关闭区域 1 中的实例。

显示虚拟机规模集资源页的屏幕截图,其中显示了处于“已停止”状态的实例。

后续步骤

提示

如果虚拟机规模集使用自动缩放策略,则此试验关闭现有 VM 后,系统将为新的 VM 配置此策略。 为了防止此操作,请在试验中添加一个并行分支,在其中对虚拟机规模集 microsoft.insights/autoscaleSettings 资源施加“禁用自动缩放”错误。 记得添加 autoscaleSettings 资源作为目标并分配角色。

现在,你已运行进行动态目标确定的虚拟机规模集关闭试验,可以执行以下操作了: