Azure Bicep 开发利器

大家好,我是本期的实验室研究员—贠乾。今天我将通过实例为大家讲解如何安装Bicep,利用Bicep部署 Azure 资源。Bicep是一种用于声明式部署Azure资源的领域特定语言。它有更清晰的语法,能够彻底简化编写体验。 接下来就让我们一起在实验室开始探索吧!

微软MVP实验室研究员

Azure Bicep 开发利器_第1张图片

思路浅析

有用过 IAC 工具的同学们都知道。在 Azure ARM 的 JSON 中必须在模板的相应部分声明所有参数、变量和输出,有一定的限制。

本次实验,我们可以利用 Azure Bicep 灵巧的部署Azure资源。它比 JSON 语法更简单,不需要写太多的参数设置。Bicep 是一种用于声明式部署Azure资源的领域特定语言。它的目标是通过更清晰的语法、改进的类型安全性、以及对模块化和代码重用的更好支持,彻底简化编写体验。

Bicep 其实是对 ARM 模板的透明抽象,Bicep 代码被解析成标准的 JSON 文件,它有效地将 ARM模板 视为一种中间语言(IL)。Bicep 不是编写应用程序的通用编程语言,而是声明Azure资源和资源属性的语言。简单来说,它是用来开发 Azure ARM 模板的。

大致思路是这样的,首先我们需要在开发环境中安装 Azure CLI 和 Biecp CLI。然后,使用VS Code 中的 Bicep 插件实现声明 Azure 资源的Biecp文件。最后,我们利用 Azure CLI 与 Bicep 文件配合使用将资源部署到 Azure。

安装Bicep工具

(1)VS Code 编辑器安装 Bicep 插件
Azure Bicep 开发利器_第2张图片

(2)安装 Bicep CLI

  1) 利用 Azure CLI 手动安装
az bicep install
Azure Bicep 开发利器_第3张图片

2) 利用 Chocolatey 手动安装

choco install bicep
Azure Bicep 开发利器_第4张图片

创建Bicep文件

在Bicep项目目录下创建后缀为 bicep 的 main 文件,这个时候会下载.NET runtime ,稍等片刻。
Azure Bicep 开发利器_第5张图片

Azure资源的声明还是从最熟悉的资源组开始,在 “main.bicep” 文件中中输入 “res-rg” ,并按Tab 补全代码。添加Scope作用域,如下图所示。

targetScope='subscription'

resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
  name: 'Web_Test_Bicep_RG'
  location: 'EastAsia'
  tags:{
    'tag': 'create by bicep'   
  }
}

当前代码中标记为红色的为自定义值。

点击图中箭头指向,可以以可视化的方式查看资源依赖关系。

Azure Bicep 开发利器_第6张图片

预部属检查Bicep

在部署 Bicep 文件之前,可以预测即将发生的资源更改。此时我们需要添加在CLI 命令中加入 what-if,方便我们查看不同类型资源的更改。

az deployment sub  what-if --location "eastasia" --template-file "main.bicep"
Image

Azure Bicep 开发利器_第7张图片

部属Bicep

Bicep 能定义将资源部署到设定目标有 “资源组”,“订阅”,“管理组”,“租户”。

本文中演示是将 “Web_Test_Rg” 部署到 “订阅”。

az deployment sub create --confirm-with-what-if --location "eastasia" --template-file "main.bicep"

Azure Bicep 开发利器_第8张图片
查看资源组部署状况,Azure 资源组部署成功。

Azure Bicep 开发利器_第9张图片

总结

本期实验,我们学习了如何使用 Azure Bicep 预部署检测资源组,也为我们在选择基础设施即代码的解决方案上又增加了新的方案。

对于上述实验中涉及到的各类技术和服务,大家可以通过下列链接进一步了解。

Azure Bicep 技术文档:

https://docs.microsoft.com/zh...

*Bicep 文档:

https://github.com/Azure/bicep


微软MVP项目介绍

微软最有价值专家是微软公司授予第三方技术专业人士的一个全球奖项。28年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和经验而获得此奖项。

MVP是经过严格挑选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的热情并乐于助人的专家。MVP致力于通过演讲、论坛问答、创建网站、撰写博客、分享视频、开源项目、组织会议等方式来帮助他人,并最大程度地帮助微软技术社区用户使用Microsoft技术。
更多详情请登录官方网站:
https://mvp.microsoft.com/zh-cn


扫码关注微软MSDN,获取更多微软一手技术信息和官方学习资料!
image.png

你可能感兴趣的