Azure Bicep 开发利器
大家好,我是本期的实验室研究员—贠乾。今天我将通过实例为大家讲解如何安装Bicep,利用Bicep部署 Azure 资源。Bicep是一种用于声明式部署Azure资源的领域特定语言。它有更清晰的语法,能够彻底简化编写体验。 接下来就让我们一起在实验室开始探索吧!
微软MVP实验室研究员
文章图片
思路浅析
有用过 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 插件
文章图片
(2)安装 Bicep CLI
1) 利用 Azure CLI 手动安装az bicep install
文章图片
2) 利用 Chocolatey 手动安装
choco install bicep
文章图片
创建Bicep文件
在Bicep项目目录下创建后缀为 bicep 的 main 文件,这个时候会下载.NET runtime ,稍等片刻。
文章图片
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 开发利器】点击图中箭头指向,可以以可视化的方式查看资源依赖关系。
文章图片
预部属检查Bicep 在部署 Bicep 文件之前,可以预测即将发生的资源更改。此时我们需要添加在CLI 命令中加入 what-if,方便我们查看不同类型资源的更改。
az deployment subwhat-if --location "eastasia" --template-file "main.bicep"
Image
文章图片
部属Bicep Bicep 能定义将资源部署到设定目标有 “资源组”,“订阅”,“管理组”,“租户”。
本文中演示是将 “Web_Test_Rg” 部署到 “订阅”。
az deployment sub create --confirm-with-what-if --location "eastasia" --template-file "main.bicep"
文章图片
查看资源组部署状况,Azure 资源组部署成功。
文章图片
总结 本期实验,我们学习了如何使用 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,获取更多微软一手技术信息和官方学习资料!
文章图片
推荐阅读
- 深入理解Go之generate
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 我的软件测试开发工程师书单
- echart|echart 双轴图开发
- NPDP拆书(三)(新产品开发战略(经营与创新战略))
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- 常用git命令总结
- 藏族开发的修路人——记致富援乡的斯定那珠
- ASP.NET|ASP.NET Core应用开发思维导图
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)