SuperAPI AI 工具集

arm-templates

部署与运维

查看项目

更新于 10-15 12:44

技能介绍

用途

ARM Templates & Bicep 用于以 Azure 原生方式部署基础设施,即基础设施即代码(IaC)。Bicep 是推荐使用的领域特定语言,可编译为 ARM JSON,提供更简洁的语法、模块和一流工具支持。

适用场景包括:需要 Azure 原生 IaC 而不依赖第三方工具;组织标准化于 Azure 并希望与门户紧密集成;部署变更前需要 What-If 分析;将现有 ARM JSON 模板迁移到 Bicep 以提升可维护性;需要在资源组、订阅、管理组或租户级别进行部署。

主要能力

  • Bicep 基础:资源组部署、虚拟网络与网络安全组、带系统分配托管标识的虚拟机。
  • Bicep 模块:定义模块(如存储账户模块)并在主模板中消费,引用模块输出。
  • ARM JSON 模板结构:包含 schema、contentVersion、parameters、variables、resources、outputs。
  • 部署命令:验证、What-If 预览、创建部署、订阅级部署、管理组部署、导出资源组、反编译 ARM JSON 到 Bicep、构建 Bicep 到 ARM JSON、列出部署、删除失败部署。
  • 参数文件:支持 JSON 参数文件,并可通过 Key Vault 引用密钥。
  • 链接与嵌套模板:跨资源组部署、条件部署、循环部署。
  • 故障排查:涵盖 InvalidTemplate、ResourceNotFound、配额错误、授权失败、参数文件密钥泄露、部署耗时过长、What-If 意外删除、Bicep 模块未找到等常见问题及修复方法。

使用方式

前置条件:安装 Azure CLI(curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash),安装 Bicep CLI(az bicep install、az bicep upgrade),验证安装(az bicep version),登录并设置订阅(az login、az account set --subscription "my-subscription-id")。

部署流程示例:先验证模板(az deployment group validate),再用 What-If 预览变更(az deployment group what-if),最后创建部署(az deployment group create)。支持使用参数文件(--parameters @parameters.prod.json)。订阅级部署使用 az deployment sub create,管理组部署使用 az deployment mg create。可将资源组导出为 ARM JSON(az group export),或将 ARM JSON 反编译为 Bicep(az bicep decompile),也可将 Bicep 构建为 ARM JSON 以供检查(az bicep build)。

适用场景

  • 需要 Azure 原生 IaC 且不引入第三方工具。
  • 组织已标准化于 Azure,希望与门户紧密集成。
  • 部署前需要 What-If 分析以预览变更。
  • 将现有 ARM JSON 模板迁移到 Bicep。
  • 需要在资源组、订阅、管理组或租户级别进行部署。

限制

资料未提供该技能的具体收费、价格、平台支持范围或效果数据。使用前需具备 Azure 订阅与相应 RBAC 权限(如目标资源组上的 Contributor 角色)。部署可能受订阅配额限制。参数文件中的密钥应使用 Key Vault 引用,避免明文存储于源代码管理。使用完整模式(Complete mode)可能导致意外删除未托管资源,默认应使用增量模式(Incremental)。