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

通过 Azure 门户创建使用基于代理的故障的混沌试验

可以使用混沌试验,通过在受控环境中引发一些故障,来验证应用程序是否可以应对这些故障。 在本文中,你将通过使用混沌试验和 Azure Chaso Studio 在 Linux 虚拟机 (VM) 上引发高 CPU 使用率事件。 运行此试验有助于防范应用程序资源耗尽问题。

可使用这些相同的步骤来设置和运行针对任何基于代理的故障的试验。 基于代理的故障需要设置和安装混沌代理。 服务直接故障直接针对 Azure 资源运行,而无需进行检测。

先决条件

在虚拟机上启用 Chaos Studio

除非 VM 已事先添加到 Chaos Studio,否则 Chaos Studio 无法向 VM 注入故障。 要将 VM 添加到 Chaos Studio,请在资源上创建目标和功能。 然后安装混沌代理。

虚拟机有两种目标类型。 一种目标类型可启用服务直接故障(其中不需要代理)。 另一种目标类型可启用基于代理的故障(这需要安装代理)。 混沌代理是作为 VM 扩展安装在 VM 上的应用程序。 你使用它在来宾操作系统中注入错误。

启用混沌目标、功能和代理

重要

在完成后续步骤之前,必须创建用户分配的托管标识。 然后将其分配给目标 VM 或虚拟机规模集。

  1. 打开 Azure 门户

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

  3. 选择“目标”并移动到 VM。

    屏幕截图显示 Azure 门户中的“目标”视图。

  4. 选中 VM 旁边的复选框,然后选择“启用目标”。 然后,从下拉菜单中选择“启用基于代理的目标”。

    显示在 Azure 门户中启用目标的屏幕截图。

  5. 选择要用于对混沌代理进行身份验证的“托管标识”,并根据需要启用 Application Insights 以查看试验事件和代理日志。

    显示选择托管标识的屏幕截图。

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

    显示查看基于代理的目标启用的屏幕截图。

  7. 几分钟后,系统会显示一条通知,指示已成功启用所选资源。 Azure 门户会将用户分配的标识添加到 VM。 门户将启用代理目标和功能,并将混沌代理安装为 VM 扩展。

    显示已成功启用目标的通知的屏幕截图。

  8. 如果要启用虚拟机规模集,请通过转到虚拟机规模集资源窗格将实例升级到最新模型。 选择“实例”,然后选择所有实例。 如果使用的不是最新模型,请选择“升级”。

现在,你已成功将 Linux VM 添加到 Chaos Studio。 在“目标”视图中,还可以管理对此资源启用的功能。 选择资源旁边的“管理操作”,以显示已为该资源只用的功能。

创建试验

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

  1. 在 Chaos Studio 中选择“试验”选项卡。 在此视图中,可以查看和管理所有混沌试验。 选择“创建”>“新建试验”。

    屏幕截图显示了 Azure 门户中的“试验”视图。

  2. 填写要在其中部署混沌试验的“订阅”、“资源组”和“位置” 。 为试验指定一个名称。 选择“下一步: 试验设计器”。

    显示添加基本试验详细信息的屏幕截图。

  3. 现在,你已位于 Chaos Studio 试验设计器中。 可以通过添加步骤、分支和故障来生成试验。 为“步骤”和“分支”提供友好名称。 然后选择“添加操作”>“添加故障”。

    屏幕截图显示了试验设计器。

  4. 从下拉列表中选择“CPU 压力”。 使用应用压力的分钟数填写“持续时间”。 使用要应用的 CPU 使用率压力百分比填充“pressureLevel”。 将 virtualMachineScaleSetInstances 留空。 选择“下一步: 目标资源”。

    屏幕截图显示了故障属性。

  5. 选择 VM,然后选择“下一步”。

    屏幕截图显示添加目标。

  6. 验证试验是否正确。 然后选择“查看 + 创建”>“创建”。

    显示查看和创建试验的屏幕截图。

向试验授予对你的虚拟机的权限

创建混沌试验时,Chaos Studio 会创建系统分配的托管标识,用于针对目标资源执行故障。 若要成功运行试验,必须向此标识提供目标资源的适当权限

  1. 转到 VM 并选择“访问控制(IAM)”。

    显示虚拟机“概述”页的屏幕截图。

  2. 选择“添加”>“添加角色分配”。

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

  3. 搜索“读者”并选择角色。 选择下一步

    显示分配虚拟机参与者角色的屏幕截图。

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

    显示将试验添加到角色的屏幕截图。

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

运行试验

现在,你已准备就绪,可以开始运行试验。 要查看影响,建议在单独的浏览器选项卡中打开包含虚拟机 CPU 压力的 Azure Monitor 指标图表

  1. 在“试验”视图中,选择你的试验。 选择“开始”>“确定”。

    显示启动试验的屏幕截图。

  2. 在“状态”更改为“正在运行”后,在“历史记录”下选择上次运行的“详细信息”,可查看正在运行的试验的详细信息。

后续步骤

现在,你已运行基于代理的试验,可以: