Azure:如何构建*弹性*资源部署管道?

时间:2021-04-21 16:27:00

标签: azure azure-devops terraform infrastructure-as-code

我正在寻找一些最佳做法和建议:

  • 我的团队正在创建 Azure DevOps 管道,以部署由 VNet、VM、Azure ML 工作区、SQL 数据库等组成的复杂基础架构。
  • 管道尽可能使用 Terraform,但在需要时使用 Powershell 或 AZ CLI。
  • 管道有效,受版本控制,具有适当的单元测试和集成测试(或至少是不错的测试)。

但是,由于 Azure 资源的不稳定性有时管道会失败,例如:

  • SQL 服务器配置失败
  • 虚拟机的 AD 加入失败
  • 或其他不是由于基础设施即代码不良,而是任务的随机性造成的活动。供应资源本质上是不稳定的,类似于网络等。

我不是在抱怨 Azure。我只是问:

如何调整 IaC 管道,以便在 Azure 发生故障时可以自动触发某种重试?

举个具体的例子,是否有与 Python 的 tenacity 包或 Java 的 Spring Retry 等效的 Azure 或 Terraform?

1 个答案:

答案 0 :(得分:1)

<块引用>

如何调整 IaC 管道,以便当 Azure 发生故障时,可以自动触发某种重试?

您可以尝试使用 Trigger Azure DevOps Pipeline 任务在构建失败时自动触发当前构建管道。

为了能够使用扩展,需要创建 Azure DevOps API 端点。 要使服务连接正常工作,您需要配置以下参数:

此外,我们需要为这个任务设置条件,它会触发当前的管道仅当前一个任务失败时

enter image description here

enter image description here

相关问题