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

Azure Chaos Studio 中的虚拟网络注入

Azure 虚拟网络是 Azure 中专用网络的基本构建基块。 借助虚拟网络,多种类型的 Azure 资源可相互之间、与 Internet 以及与本地网络安全通信。 虚拟网络类似于你在自己的数据中心内运行的传统网络。 它汇集了 Azure 基础结构的其他好处,如缩放、可用性和隔离性。

虚拟网络注入允许 Azure Chaos Studio 资源提供程序将容器化工作负载注入虚拟网络,以便可以通过虚拟网络上的专用 IP 地址访问没有公共终结点的资源。 为虚拟网络中的资源配置虚拟网络注入并启用资源作为目标后,可以在多个试验中使用它。 如果根据本文中的说明配置专用资源,试验可以针对专用资源和非专用资源的组合。

我们现在也很高兴地宣布,Chaos Studio 支持使用专用终结点运行基于代理的试验! Chaos Studio 现在支持专用链接同时用于服务直接试验和基于代理的试验。 若要对基于代理的试验使用专用链接,请联系 CSA 或访问如何:为基于代理的试验设置专用链接。 有关服务直接故障的专用链接,请阅读以下部分,了解如何它们的使用方法。

资源类型支持

目前,只能为 Chaos Studio 虚拟网络注入启用某些资源类型:

  • 可以通过 Azure 门户和 Azure CLI 使用虚拟网络注入来启用 Azure Kubernetes 服务 (AKS) 目标。 可以使用所有 AKS Chaos Mesh 故障。
  • 可以通过 Azure 门户和 Azure CLI 使用虚拟网络注入启用 Azure Key Vault 目标。 可用于虚拟网络注入的故障包括禁用证书、递增证书版本和更新证书策略。

启用虚拟网络注入

若要将 Chaos Studio 与虚拟网络注入配合使用,必须满足以下要求。

  1. 必须在订阅中注册 Microsoft.ContainerInstanceMicrosoft.Relay 资源提供程序。
  2. 将注入 Chaos Studio 资源的虚拟网络必须有两个子网:容器子网和中继子网。 容器子网用于将注入专用网络的 Chaos Studio 容器。 中继子网用于将来自 Chaos Studio 的通信转发到专用网络内的容器。
    1. 这两个子网的地址空间大小至少需要 /28(例如在本例中,/27 大于 /28)。 例如,地址前缀为 10.0.0.0/2810.0.0.0/24
    2. 必须将容器子网委托给 Microsoft.ContainerInstance/containerGroups
    3. 子网可以任意命名,但我们建议命名为 ChaosStudioContainerSubnetChaosStudioRelaySubnet
  3. 启用所需资源作为目标,以便可以在 Chaos Studio 试验中使用它时,必须设置以下属性:
    1. properties.subnets.containerSubnetId 设置为容器子网的 ID。
    2. properties.subnets.relaySubnetId 设置为中继子网的 ID。

如果使用 Azure 门户启用专用资源作为 Chaos Studio 目标,则 Chaos Studio 当前仅识别名为 ChaosStudioContainerSubnetChaosStudioRelaySubnet 的子网。 如果这些子网不存在,门户工作流可以自动创建它们。

如果使用 CLI,容器和中继子网可以具有任何名称(受资源命名准则的约束)。 启用资源作为目标时,请指定相应的 ID。

示例:将 Chaos Studio 与专用 AKS 群集配合使用

此示例演示如何将专用 AKS 群集配置为与 Chaos Studio 配合使用。 它假定已在 Azure 订阅中拥有专用 AKS 群集。 若要创建一个群集,请参阅创建专用 Azure Kubernetes 服务群集

  1. 在 Azure 门户中,转到订阅中的“订阅”>“资源提供程序”

  2. 如果尚未注册 Microsoft.ContainerInstanceMicrosoft.Relay 资源提供程序,请选择相应提供程序,然后选择“注册”以注册资源提供程序。 注册 Microsoft.Chaos 资源提供程序。

    屏幕截图显示如何注册资源提供程序。

  3. 转到 Chaos Studio 并选择“目标”。 找到所需的 AKS 群集,选择“启用目标”>“启用服务直接目标”

    屏幕截图显示如何在 Chaos Studio 中启用目标。

  4. 选择群集的虚拟网络。 如果虚拟网络已包含名为 ChaosStudioContainerSubnetChaosStudioRelaySubnet 的子网,请选择它们。 如果它们尚不存在,则系统会自动为你创建它们。

    屏幕截图显示如何选择虚拟网络和子网。

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

    屏幕截图显示如何查看目标启用。

现在,可以将专用 AKS 群集与 Chaos Studio 配合使用。 若要了解如何安装 Chaos Mesh 并运行试验,请参阅使用 Azure 门户创建一个使用 Chaos Mesh 故障的混沌试验

限制

  • 虚拟网络注入目前只能在 Azure 容器实例和 Azure 中继可用的订阅/区域中进行。
  • 创建使用虚拟网络注入启用的目标资源时,需要对虚拟网络的 Microsoft.Network/virtualNetworks/subnets/write 访问权限。 例如,如果将 AKS 群集部署到 virtual network_A,则必须有权在 virtual network_A 中创建子网,以便为 AKS 群集启用虚拟网络注入。
  • 如果组织有需要资源标记的策略,则当将 Chaos Studio 与专用网络配合使用时,此操作将失败。 需要暂时禁用此策略,直到我们推出此问题的修补程序。

后续步骤

现在,你已了解如何为 Chaos Studio 实现虚拟网络注入,接下来可以: