当前位置: 首页 > Microsoft Azure > 正文

Azure Administrator认证学习指南之使用Resource Manager 模板部署Azure虚拟机-46

Resource Manager 模板,是使用资源管理器为所有Azure资源提供基础结构即代码服务模式,在管理云端资源时,我们需要不停的重复性的进行某一种操作或者与开发团队一起工作并进行IT资源管理,因此我们需要借助自动化,并运用基础结构即代码。在代码中定义需要部署的基础结构。 基础结构代码将成为项目的一部分。 与应用程序代码一样,可将基础结构代码存储在源存储库中,并控制其版本。 团队中的任何人都可以运行该代码并部署类似的环境。

要将基础结构作为Azure解决方案的代码来实现,请使用Azure资源管理器 (ARM) 模板。该模板是一个定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。该模板使用声明性语法,使你可以声明要部署的内容,而不需要编写一系列编程命令来进行创建。在该模板中,指定要部署的资源以及这些资源的属性。


  • 声明性语法:ARM 模板允许您创建和部署整个Azure 基础结构声明性。例如,不仅可以部署虚拟机,还可以部署网络基础结构、存储系统和可能需要的任何其他资源。
  • 可重复的结果:在整个开发生命周期中反复部署您的基础架构,并确信您的资源以一致的方式部署。 模板是幂等的,这意味着,可以多次部署同一模板,并获得处于相同状态的相同资源类型。可以开发一个模板来表示所需的状态,而无需开发大量的独立模板来表示更新。
  • 业务流程:您不必担心排序操作的复杂性。资源管理器会协调相互依赖的资源的部署,以按正确的顺序创建这些资源。在可能的情况下,资源管理器将会并行部署资源,因此,其完成速度比串行部署更快。通过一个命令部署模板,而无需使用多个强制性命令。
  • 模块化文件:您可以将模板分解为更小、可重用的组件,并在部署时将它们链接在一起。还可以在一个模板中嵌套另一个模板。
  • 创建任何 Azure 资源:可以立即在模板中使用新的 Azure 服务和功能。 一旦资源提供程序引入了新资源,你就可以通过模板立即部署这些资源。 在使用新服务之前,无需等待工具或模块完成更新。
  • 可扩展性:使用部署脚本,您可以将 PowerShell 或 Bash 脚本添加到模板中。 部署脚本扩展了在部署期间设置资源的能力。 脚本可以包含在模板中,也可以存储在外部源中并在模板中引用。部署脚本使您能够在单个 ARM 模板中完成端到端环境设置。
  • 测试:您可以通过使用 ARM 模板工具包(arm-ttk)测试模板,确保模板遵循建议的准则。 此测试套件是一个 PowerShell 脚本,可以从GitHub下载。 通过该工具包,您可以更轻松地使用模板语言开发专业知识。
  • 预览更改:在部署模板之前,可以使用”如果”操作获取更改的预览。 使用”假设”,您将看到将创建、更新或删除哪些资源,以及任何将更改的资源属性。 What-if 操作检查环境的当前状态,并无需管理状态。
  • 内置验证:您的模板仅在通过验证后部署。 资源管理器在开始部署之前会检查模板,以确保部署成功。 部署不太可能会在半完成状态时停止。
  • 跟踪的部署:在 Azure 门户中,您可以查看部署历史记录并获取有关模板部署的信息。 可以查看已部署的模板、已传入的参数值,以及任何输出值。 其他基础结构即代码服务不是通过门户跟踪的。
  • 策略作为代码:Azure 策略是一个策略,作为代码框架来自动执行治理。 如果使用 Azure 策略,在通过模板进行部署时,将会针对不合规的资源执行策略修正。
  • 部署蓝图:您可以利用 Microsoft 提供的蓝图来满足法规和合规性标准。 这些蓝图包括各种体系结构的预构建模板。
  • CI/CD 集成:您可以将模板集成到持续集成和持续部署 (CI/CD) 工具中,这些工具可以自动执行发布管道,实现快速可靠的应用程序和基础结构更新。 通过使用 Azure DevOps 和资源管理器模板任务,可以使用 Azure 管道持续生成和部署 ARM 模板项目。
  • 可导出代码:您可以通过导出资源组的当前状态或查看用于特定部署的模板来获取现有资源组的模板。 查看导出的模板是了解模板语法的有用方法。
  • 创作工具:您可以使用Visual Studio 代码和模板工具扩展来创作模板。你将获得 Intellisense、语法突出显示、内联帮助以及其他许多语言功能。除了 Visual Studio code 以外,还可以使用 Visual Studio。

例如。通过ARM模板,可以将三层应用程序部署到单个资源组。


利用虚拟机规模集,可以部署和管理一组相同的、自动缩放的虚拟机。可以手动缩放规模集中的 VM 数,也可以定义规则,以便根据资源使用情况(如 CPU 使用率、内存需求或网络流量)进行自动缩放。 然后,Azure 负载均衡器会将流量分配到规模集中的 VM 实例。 今天我们将介绍利用Azure RM模板部署虚拟机规模集,并部署一个示例应用程序。

由于国际版账户配额问题,本环节使用Azure China 环境进行操作演示。



该实例JSON文件引用了如下Azure资源程序

  • Microsoft.Network/virtualNetworks
  • Microsoft.Network/publicIPAddresses
  • Microsoft.Network/loadBalancers
  • Microsoft.Compute/virtualMachineScaleSets
  • Microsoft.Insights/autoscaleSettings


如果您希望仔细看JSON模板,您可以根据参数提示进行阅读


点击保存之后,我们需要开始根据自己的需要定义相关变量参数


点击”购买”,开始部署




我们也可以使用Visual Studio Code进行创建与部署该服务,首先需要确保已经安装ARM模板


在”文件”菜单中,选择”新建文件”以创建新的文件,并将其保存为.JSON文件



我们需要对其修改变量参数,以定义需要部署的资源

#登录 Azure

Connect-AzAccount

#创建资源组

New-AzResourceGroup -Name myResourceGroup -Location “chinanorth”

#部署模板

$templateFile = “{provide-the-path-to-the-template-file}”

New-AzResourceGroupDeployment -Name blanktemplate -ResourceGroupName myResourceGroup -TemplateFile $templateFile


本文固定链接: http://365vcloud.net/2020/04/20/deploy-azure-virtual-machines-using-resource-manager-templates/ | 365vCloud的云计算之旅

该日志由 TingXu 于2020年04月20日发表在 Microsoft Azure 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Azure Administrator认证学习指南之使用Resource Manager 模板部署Azure虚拟机-46 | 365vCloud的云计算之旅
关键字: , ,

Azure Administrator认证学习指南之使用Resource Manager 模板部署Azure虚拟机-46:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!