你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
可以在混沌试验中使用动态设定目标功能,根据试验运行时评估的标准来选择一组目标运行试验。 本文介绍如何根据可用性区域动态确定虚拟机规模集来关闭实例。 运行此试验可以帮助你测试在发生中断时进行的故障转移(故障转移到另一区域中的 Azure 虚拟机规模集实例)。
可以使用这些相同的步骤针对任何支持动态目标确定的故障设置并运行试验。 目前,只有虚拟机规模集关闭支持动态目标确定。
先决条件
- 一个 Azure 订阅。 如果没有 Azure 帐户,请在开始前创建一个免费帐户。
- 一个 Azure 虚拟机规模集实例。
在虚拟机规模集上启用 Chaos Studio
Azure Chaos Studio 无法针对资源注入故障,直到该资源已添加到 Chaos Studio。 若要将资源添加到 Chaos Studio,请在资源上创建目标和功能。
虚拟机规模集只有一种目标类型 (Microsoft-VirtualMachineScaleSet) 和一种功能 (shutdown)。 其他资源最多可以有两种目标类型。 一种目标类型用于 service-direct 故障。 另一种目标类型是针对基于代理的故障。 其他资源可能还有许多其他功能。
打开 Azure 门户。
在搜索栏中搜索“Chaos Studio”。
选择“目标”,然后找到虚拟机规模集资源。
选择该虚拟机规模集资源,然后选择“启用目标”“启用服务直接目标”。>
选择“审阅 + 启用”“启用”。>
你现在已成功地将虚拟机规模集添加到 Chaos Studio。
创建试验
现在,您可以创建实验。 混沌试验定义了要针对目标资源执行的操作。 操作将按顺序组织并运行。 混沌试验还定义了要针对分支执行的操作(它们将并行运行)。
在 Chaos Studio 中,转到“试验”“创建”>“新建试验”。>
为符合资源命名准则的试验添加名称。 选择“下一步: 试验设计器”。
在步骤 1 和分支 1 中,选择“添加操作”“添加错误”。>
选择“VMSS 关闭(版本 2.0)”故障。 选择所需的持续时间以及是否要突然关闭。 选择“下一步: 目标资源”。
选择要在试验中使用的虚拟机规模集资源。 选择“下一步:作用域”。
在“区域”下拉列表中,择虚拟机规模集实例中需要关闭的虚拟机所在的区域。 选择 添加 。
选择“ 查看 + 创建”“创建”以保存试验。>
向虚拟机规模集授予试验权限
创建混沌试验时,Chaos Studio 会创建系统分配的托管标识,用于针对目标资源执行故障。 若要成功运行试验,必须向此标识提供目标资源的适当权限。 可将这些步骤用于任何资源和目标类型,方法是修改步骤 3 中的角色分配以匹配该资源和目标类型的相应角色。
转到虚拟机规模集资源,然后选择“访问控制(IAM)”“添加角色分配”。>
在“角色”选项卡上,选择“虚拟机参与者”,然后选择“下一步”。
选择“选择成员”,然后搜索试验名称。 选择试验,然后选中“选择”。 如果同一租户中有多个试验名称相同的实验,系统会通过添加随机字符来减少实验名称。
选择“审阅 + 分配”“审阅 + 分配”。>
运行实验
现在,你已准备就绪,可以开始运行试验。
在 Chaos Studio 中,转到“试验”视图,选择试验,然后选择“开始试验”。
选择“确定”以确认要启动试验。
当“状态”更改为“正在运行”时,在“历史记录”下选择上次运行的“详细信息”,以查看正在运行的试验的详细信息。 如果发生任何错误,可以在“详细信息”中加以查看。 选择失败的操作并展开“失败的目标”。
要查看效果,请使用类似 Azure Monitor 的工具或门户中的“虚拟机规模集”部分,检查您的虚拟机规模集的目标是否已关闭。 如果它们已关闭,请查看虚拟机规模集上运行的服务是否仍按预期运行。
在此示例中,混沌试验已按预期成功关闭区域 1 中的实例。
后续步骤
提示
如果虚拟机规模集使用自动缩放策略,则在此试验关闭现有 VM 后,该策略会为新 VM 进行配置。 为了防止此操作,请在试验中添加一个并行分支,在其中对虚拟机规模集 资源施加“禁用自动缩放”故障。microsoft.insights/autoscaleSettings 记得添加 autoscaleSettings 资源作为目标并分配角色。
现在,你已运行进行动态目标确定的虚拟机规模集关闭试验,可以执行以下操作了: