你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍 Azure 资源管理器模板(ARM 模板)。 它演示如何创建初学者模板并将其部署到 Azure。 其中介绍了模板结构和使用模板所需的工具。 此说明需要 12 分钟 才能完成,但实际完成时间因需要安装的工具数而异。
本教程是系列的第一个教程。 随着您逐步深入学习系列内容,您会逐步修改起始模板,直至探索 ARM 模板的所有核心部分。 这些元素是更复杂的模板的构建基块。 我们希望在系列结束时,你有信心创建自己的模板,并准备好使用模板自动执行部署。
若要了解使用模板的好处以及为何应使用模板自动执行部署,请参阅 ARM 模板概述。 若要通过一组引导的 Learn 模块了解 ARM 模板,请参阅 使用 JSON ARM 模板在 Azure 中部署和管理资源。
如果没有Microsoft Azure 订阅,请在开始之前 创建一个免费帐户 。
小窍门
如果你不熟悉 ARM 模板,建议你考虑学习 Bicep。 Bicep 是一种新的语言,提供与 ARM 模板相同的功能,但具有易于使用的语法。 若要开始学习 Bicep,请参阅 快速入门:使用 Visual Studio Code 创建 Bicep 文件。
获取工具
首先,请确保拥有创建和部署模板所需的工具。 在本地计算机上安装这些工具。
Editor
模板是 JavaScript 对象表示法 (JSON) 文件。 若要创建模板,可以使用 Visual Studio Code。
命令行部署
还需要 Azure PowerShell 或 Azure Command-Line 接口(CLI)来部署模板。 如果使用 Azure CLI,则需要具有版本 2.37.0 或更高版本。 有关安装说明,请参阅:
安装 Azure PowerShell 或 Azure CLI 后,请确保首次登录。 有关帮助,请参阅 登录 - PowerShell 或 登录 - Azure CLI。
重要
如果使用 Azure CLI,请确保版本为 2.37.0 或更高版本。 如果使用 Azure PowerShell,请确保版本为 7.2.4 或更高版本。 如果使用的是早期版本,则本教程中显示的命令不起作用。 若要检查已安装的版本,请使用: az --version
好吧,你已准备好开始了解模板。
创建第一个模板
打开 Visual Studio Code。
在“ 文件 ”菜单中,选择“ 新建文件 ”以创建新文件。
在 “文件 ”菜单中,选择“ 另存为”。
将文件命名为 azuredeploy 并选择 json 文件扩展名。 文件的完整名称 azuredeploy.json。
将文件保存到工作站。 选择易于记住的路径,因为在部署模板时需要稍后提供该路径。
将以下 JSON 复制并粘贴到文件中:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [] }下面是 Visual Studio Code 环境的外观:
此模板不部署任何资源。 我们从空白模板开始,以便你可以熟悉部署模板的步骤,同时尽量减少出现问题的可能性。
JSON 文件包含以下元素:
-
$schema:指定 JSON 架构文件的位置。 架构文件描述模板中可用的属性。 例如,模式将resources定义为模板的有效属性之一。 不要担心架构的日期为 2019-04-01。 此架构版本是最新的,包括所有最新功能。 模式日期尚未更改,因为自引入以来没有重大变更。 -
contentVersion:指定模板的版本,例如 1.0.0.0。 可以为此元素提供任何值。 使用此值记录模板中的重大更改。 使用模板部署资源时,可以使用此值来确保使用正确的模板。 -
resources:包含要部署或更新的资源。 目前为空,但稍后可以添加资源。
-
保存文件。
恭喜,你已创建了第一个模板。
登录到 Azure
若要开始使用 Azure PowerShell 或 Azure CLI,请使用 Azure 凭据登录。
选择以下代码部分中的选项卡,在 Azure PowerShell 和 Azure CLI 之间进行选择。 本文中的 CLI 示例是为 Bash shell 编写的。
Connect-AzAccount
如果有多个 Azure 订阅,请选择要使用的订阅。 使用你的订阅名称替换 SubscriptionName。 还可以使用订阅 ID,而不是订阅名称。
Set-AzContext SubscriptionName
创建资源组
部署模板时,可以指定要包含资源的资源组。 在运行部署命令之前,请使用 Bash Azure CLI 或 Azure PowerShell 创建资源组。
注释
Azure CLI 的示例是为 bash shell 编写的。 若要在 Windows PowerShell 或命令提示符中运行此示例,可能需要删除反斜杠并编写命令行,例如:
New-AzResourceGroup `
-Name myResourceGroup `
-Location "Central US"
部署模板
若要部署模板,请使用 Azure CLI 或 Azure PowerShell。 使用创建的资源组。 为部署命名,以便在部署历史记录中轻松识别它。 为方便起见,还创建一个变量,用于存储模板文件的路径。 此变量使你能够更轻松地运行部署命令,因为每次部署时都无需重新键入路径。 将 {provide-the-path-to-the-template-file} 和花括号 {} 替换为模板文件的路径。
$templateFile = "{provide-the-path-to-the-template-file}"
New-AzResourceGroupDeployment `
-Name blanktemplate `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile
部署命令返回结果。 请查看 ProvisioningState 以确认部署是否成功。
注释
如果部署失败,请使用 verbose 开关获取有关所创建资源的信息。 使用 debug 开关获取调试的详细信息。
验证部署
可以通过从 Azure 门户浏览资源组来验证部署。
登录到 Azure 门户。
在左侧菜单中,选择 “资源组”。
选中 myResourceGroup 左侧的框,然后选择 myResourceGroup。
选择在前面的过程中创建的资源组。 默认名称为 myResourceGroup。 资源组尚没有任何资源,因为你部署了一个空白模板。
请注意,在概述的中间,在 “概要” 部分,页面显示 部署旁边的部署状态。 选择 “1 成功”。
可以看到资源组的部署历史记录。 选中 空白模板 左侧的框,然后选择 空白模板。
你将看到部署摘要。 在这种情况下,由于没有部署任何资源,因此无法看到太多情况。 在此系列后面的部分中,你可能会发现查看部署历史记录中的摘要会很有帮助。 请注意,左侧可以看到部署使用的输入、输出和模板。
清理资源
若要继续学习下一篇教程,则无需删除资源组。
如果您此时停止操作,您可能希望删除资源组。
在 Azure 门户中,从左侧菜单中选择 资源组 。
在Filter for any field...文本字段中键入资源组名称。
选中 myResourceGroup 旁边的框,然后选择 myResourceGroup 或资源组名称。
在顶部菜单中选择“删除资源组”。
后续步骤
你创建了一个简单的模板来部署到 Azure。 在下一教程中,可以了解如何将存储帐户添加到模板并将其部署到资源组。