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

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

可以在混沌试验中使用动态目标,根据试验运行时评估的条件,选择要针对的一组目标运行试验。 本文介绍如何动态定位虚拟机规模集,以基于可用性区域关闭实例。 运行此试验可帮助测试故障转移到不同区域中的 Azure 虚拟机规模集 实例(如果发生中断)。

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

先决条件

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

在将该资源添加到 Chaos Studio 之前,Azure Chaos Studio 无法针对资源注入错误。 若要将资源添加到 Chaos Studio,请在资源上创建 目标和功能

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

  1. 打开 Azure 门户

  2. 在搜索栏中搜索 Chaos Studio

  3. 选择“目标并查找虚拟机规模集资源。

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

    Screenshot that shows the Targets screen in Chaos Studio, with the virtual machine scale set resource selected.

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

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

创建试验

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

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

    Screenshot that shows the Experiments screen, with the Create button highlighted.

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

    Screenshot that shows the experiment creation screen, with the Next button highlighted.

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

    Screenshot that shows the experiment creation screen, with the Add fault button highlighted.

  4. 选择 VMSS 关闭(版本 2.0)错误。 选择所需的持续时间,如果希望关闭突然关闭。 选择“下一步: 目标资源”。

    Screenshot that shows the fault details view.

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

    Screenshot that shows the fault details view, with the virtual machine scale set resource selected.

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

    Screenshot that shows the fault details view, with only Zone 1 selected.

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

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

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

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

    Screenshot that shows the Virtual machine scale sets resource page.

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

    Screenshot that shows the access control overview for virtual machine scale sets.

  3. 选择“选择成员”,然后搜索试验名称。 选择试验,然后选择“ 选择”。 如果同一租户中有多个具有相同名称的试验,则试验名称将被截断,并添加随机字符。

    Screenshot that shows the Access control overview.

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

    Screenshot that shows the Access control confirmation page.

运行试验

现在可以运行试验了。

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

    Screenshot that shows the Experiments view, with the Start button highlighted.

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

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

若要查看效果,请使用 Azure Monitor 之类的工具或门户的虚拟机规模集部分在虚拟机规模集目标关闭时检查。 如果它们已关闭,检查查看虚拟机规模集上运行的服务仍按预期运行。

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

Screenshot that shows the Virtual machine scale sets resource page showing an instance in the Stopped state.

后续步骤

提示

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

现在,你已运行动态目标虚拟机规模集关闭试验,现在可以: