Azure 部署栈(Deployment Stacks)公测发布
Microsoft 最近宣布了 Azure 部署栈(Deployment Stacks)的公测版本。部署栈是一种新的资源类型,用于将一组 Azure 资源作为一个单元进行管理,从而加快更新和删除(清理)操作。此外,它还提供了更细粒度的功能,以防止对资源进行不必要的更改。
背景与问题
当前,跨多个 Azure 范围(如资源组、管理组和订阅)处理资源的生命周期(创建、更新和删除)可能非常复杂且耗时。确保关键资源配备适当的防护措施进一步增加了资源管理的复杂性。
部署栈的功能
部署栈为开发者和 DevOps 工程师提供了一种跨范围管理资源集合的方式,将其作为单个原子单元。它支持一对多的 CRUD 操作和资源更改防护,具体优势包括:
- 简化清理:通过一次调用部署栈资源,可以跨范围删除或更新资源,实现一对多操作。
- 防止不必要的更改:通过部署栈的拒绝设置功能,阻止对托管资源的更改。
技术细节
部署栈是一种资源,它通过模板文件(ARM 或 Bicep)部署为部署对象。部署栈创建的资源被称为“托管资源”,可以通过一次操作轻松更新或删除。托管资源可以通过直接删除部署栈或通过更新模板和部署栈的“actionOnUnmanage”行为间接删除。
开发者和 DevOps 工程师可以使用 Azure CLI、Azure PowerShell、Azure 门户和 Bicep 文件来创建和更新部署栈。Bicep 文件会被转换为 ARM JSON 模板,随后由栈作为部署对象进行部署。
使用示例
在资源组范围内创建部署栈的 CLI 命令如下:
az stack group create \
--name '<deployment-stack-name>' \
--resource-group '<resource-group-name>' \
--template-file '<bicep-file-name>' \
--deny-settings-mode 'none'创建部署栈后,开发者可以通过 Azure 门户在相应范围内找到它。
社区反馈与期待
Azure 部署栈提供了开发者和 DevOps 工程师过去请求和期待的功能。例如,类似于 Terraform 的“destroy”命令的功能,用于删除跨多个资源组、订阅和管理组的资源。
总结
部署栈改善了 Azure 资源的生命周期管理,防止意外删除单个资源,并提供了回滚到已知良好状态的简便方法。更多详细信息可在官方文档和 GitHub 仓库中找到。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。