创建并部署 Azure 资源管理器模板

实验条件:

安装Visual Studio Code,并安装好Azure CLI Tools和Azure Resource Manager (ARM) Tools。

 

实验内容:

创建一个 Azure 资源管理器模板(ARM 模板),将其部署到 Azure,然后更新该 ARM 模板以添加参数和输出。

 

 

实验经过:

创建 ARM 模板

  1. 打开 Visual Studio Code 并创建名为 azuredeploy.json 的新文件。

  2. Visual Studio Code ARM 模板扩展拥有配置的代码片段,可帮助你开发模板。 首先,让我们添加一个空白模板。 在文件的第一行上,输入 arm。

  3. 你将看到一个 IntelliSense 选项“arm!”。 通过选择该代码片段旁边的框来选择它。

    Visual Studio Code azuredeploy.json 文件,显示 Azure 资源管理器模板的代码片段选项。

  4. 现在,你的文件如下所示:

    JSON复制

    {
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "apiProfile": "",
    "parameters": {},
    "variables": {},
    "functions": [],
    "resources": [],
    "outputs": {}
    }
    

    请注意,此文件拥有我们在上一单元中讨论过的 ARM 模板的所有部分。

  5. 保存对文件所做的更改。

将 ARM 模板部署到 Azure

若要将此模板部署到 Azure,你需要从 Visual Studio Code 终端登录到 Azure 帐户。 请确保安装了 Azure CLI 工具,并使用用于激活沙盒的相同帐户登录。

  1. 使用“终端”菜单打开终端窗口。

  2. 如果终端窗口右侧的下拉菜单显示“bash”,即表示你有了要使用的正确 shell,可以跳到下一节继续进行操作。

    下拉列表中显示 bash 的 Visual Studio Code 终端窗口。

  3. 如果没有,请选择下拉列表,然后选择“选择默认 Shell”。

  4. 选择“bash”。

    显示选择 shell 下拉列表的 Visual Studio Code 终端窗口。

  5. 选择终端中的 +,以 bash 作为 shell 创建一个新的终端。

登录到 Azure

  1. 从 Visual Studio Code 中的终端运行此命令以登录到 Azure。 浏览器将打开,你可以登录到帐户。

    Azure CLI复制

    az login
    
  2. 登录后,将在终端中看到与帐户关联的订阅的列表。 如果激活了沙盒,会显示一个名为“Concierge 订阅”的沙盒。 在本练习的其余部分中使用此沙盒。

  3. 为在此会话中运行的所有 Azure CLI 命令设置默认订阅。

    Azure CLI复制

    az account set --subscription "Concierge Subscription"
    

     备注

    如果最近使用了多个沙盒,则可能会列出多个“Concierge 订阅”。 在这种情况下,使用下面两个步骤来设置默认订阅。 如果上述命令执行成功,则跳过下面两个步骤。

  4. 获取“Concierge 订阅”ID。

    Azure CLI复制

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. 使用订阅 ID 设置默认订阅。 将 {your subscription ID} 替换为最新的 Concierge 订阅 ID。

    Azure CLI复制

    az account set --subscription {your subscription ID}
    

设置默认资源组

将默认资源组设置为在沙盒环境中为你创建的资源组时,可在本练习的其余 Azure CLI 命令中忽略该参数。

Azure CLI复制

az configure --defaults group=[sandbox resource group name]

将模板部署到 Azure

以下代码将 ARM 模板部署到 Azure。 ARM 模板还没有任何资源,因此你不会看到创建的资源。 你会看到成功的部署。

在 Visual Studio Code 终端中使用 Azure CLI 命令部署模板。

Azure CLI复制

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today

az group deployment create \
 --name $DeploymentName \
 --template-file $templateFile

前面代码的顶部部分设置了 Azure CLI 变量,其中包括要部署的模板文件的路径和部署的名称。 az group deployment create 命令将模板部署到 Azure。 请注意,部署名称是 blanktemplate,后缀为一个日期。

你会在终端中看到 Running...

将 ARM 模板部署到 Azure 后,请转到 Azure 门户并确保你在沙盒订阅中。 为此,请选择页面右上角的头像。 选择“切换目录”。 在列表中,选择“Microsoft Learn 沙盒”目录。

  1. 在左侧面板上,选择“资源组”。

  2. 选择 [沙盒资源组名称]。

  3. 在“概述”中,你会看到一个成功的部署。

    Azure 门户中的资源组概述界面,部署部分显示了一个成功的部署。

  4. 选择“1 个已成功”以查看部署的详细信息。

    Azure 门户中的部署界面,已列出一个部署且状态为“已成功”。

  5. 选择“blanktemplate”以查看部署了哪些资源。 在这种情况下,它将为空,因为尚未在模板中指定任何资源。

    Azure 门户中的特定部署界面,未列出任何资源。

  6. 使页面在浏览器中处于打开状态。 你将再次检查部署。

向 ARM 模板添加资源

在上一个任务中,你了解了如何创建一个空白模板并部署它。 现在,可以开始部署实际资源了。 在此部分中,你将使用来自适用于 Visual Studio Code 的 Azure 资源管理器工具扩展的代码片段,将 Azure 存储帐户资源添加到 ARM 模板。

  1. 在 Visual Studio Code 中,将光标放在 azuredeploy.json 文件中资源块 "resources":[], 的方括号内。

  2. 在括号内输入“storage”。 此时将显示相关代码段的列表。 选择 arm-storage。

    Visual Studio Code arm-storage 代码片段,显示在键入的词 storage 下方。

  3. 你的文件将如下所示:

    JSON复制

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {},
        "functions": [],
        "variables": {},
        "resources": [
            {
                "name": "storageaccount1",
                "type": "Microsoft.Storage/storageAccounts",
                "apiVersion": "2019-06-01",
                "tags": {
                    "displayName": "storageaccount1"
                },
                "location": "[resourceGroup().location]",
                "kind": "StorageV2",
                "sku": {
                    "name": "Premium_LRS",
                    "tier": "Premium"
                }
            }
        ],
        "outputs": {}
    }
    

    你应编辑的值突出显示在文件的新部分中,你可以使用 tab 键来浏览。

    请注意,tags: 和 location: 属性已填充了。 location: 属性使用函数将资源的位置设置为资源组的位置。 你将在下一个模块中了解标记和函数。

  4. 将资源 name: 和 displayName: 的值更改为唯一的值。 例如 learnexercise12321。 此名称在整个 Azure 中必须是唯一的,因此请选择对你来说是唯一的名称。

  5. 将 sku 的 name 的值从 Premium_LRS 更改为 Standard_LRS。 将 tier 的值更改为 Standard。 请注意,Visual Studio Code 会通过 IntelliSense 为你的属性值提供正确的选择。 删除默认值(包括引号)并键入引号以查看此工作。

    Visual Studio Code,显示了存储 SKU 的 name 属性的 IntelliSense 选项。

  6. 资源的位置设置为资源组将部署在其中的位置。 保留默认值。

  7. 保存文件。

部署已更新的 ARM 模板

此处,你将更改部署的名称以更好地反映此部署的作用。

在终端中运行以下 Azure CLI 命令。 此代码片段与之前使用的代码相同,但部署的名称已更改。

Azure CLI复制

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today

az group deployment create \
  --name $DeploymentName \
  --template-file $templateFile

检查你的部署

  1. 在浏览器中,返回到 Azure。 转到资源组,可以看到现在有“2 个已成功”的部署。 选择此链接。

  2. 请注意,此列表中包含了所有两个部署。

    Azure 门户中的部署界面,已列出两个部署且状态为“已成功”。

  3. 选择 addstorage。

    Azure 门户中的特定部署界面,列出了一个资源。

  4. 请注意,存储帐户已部署。

 

参见原文:

https://docs.microsoft.com/zh-cn/learn/modules/create-azure-resource-manager-template-vs-code/3-exercise-create-and-deploy-template?pivots=cli

 

向 Azure 资源管理器模板添加参数和输出

https://docs.microsoft.com/zh-cn/learn/modules/create-azure-resource-manager-template-vs-code/5-exercise-parameters-output?pivots=cli

使用 ARM 模板功能部署到多个 Azure 环境

https://docs.microsoft.com/zh-cn/learn/modules/modify-azure-resource-manager-template-reuse/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值