chenqb 发表于 2017-6-30 08:48:10

手把手教你创建Azure ARM Template

  Azure的ARM模式在中国已经落地了。在ARM模式中,通过ARM的Template批量的创建各种资源是与ASM模式的最大的区别之一。目前Azure ARM的Template数量已经越来越多,更多的客户会选择采用Template的模式进行资源的部署:

  在前面的文章中已经介绍了如何通过已有的Template修改成你所需要的模板,请参考:
  http://www.cnblogs.com/hengwei/p/5634380.html
  本文将一步一步的创建一个最简单的存储账户的ARM Template,并部署到Azure China中。
  一 准备工具
  1 下载安装工具:Visual Studio Code
  首先下载Visual Studio Code:
  https://code.visualstudio.com/
  这个软件是Visual Studio的简化版,是免费的。并且可以支持Windows、MAC和Linux。

  2 安装ARM的插件:
  打开Visual Studio Code,在最左边点中"Extensions",在搜索框中输入azure后搜索:

  其中"Azure Resource Manager Tools"和"armsnippet"就是Azure ARM Template的插件。点击安装。


  点击Enable,重启Visual Studio Code。
  3 配置Visual Studio Code
  从链接:
  https://raw.githubusercontent.com/Azure/azure-xplat-arm-tooling/master/VSCode/armsnippets.json
  复制内容,在Visual Studio Code中打开:
  File->Preferences->User Snippets:

  输入json,点击JSON:

  在{ }中复制刚刚拷贝的内容:

  Ctrl-S保存后关闭Visual Studio Code。
  二 准备要创建的资源
  本文将编写最简单的创建存储的JSON文件。如果客户要创建一个存储账户,需要准备如下信息:
  1 StorageAccountName: hwsa10
  2 StorageAccountType: Standard_LRS
  3 Resource Group: 采用一个已经存在的hwarm
  三 编写JSON模板
  1 编写AzureDeploy.json文件
  打开Visual Studio Code,新建一个文件,在右下角,点击Plain Text输入json:

  2 在编辑区域输入"arm":

  此时会有提示"Microsoft Azure Resouce Manager(ARM) JSON Template structure",按回车:
  将会出现:
  {
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": { },
  "variables": { },
  "resources": [ ],
  "outputs": { }
  }
  ARM模板的标准的几个参数。
  3 编辑parameter
  在parameter中输入相关参数,在输入了""后,Visual Studio Code出现提示:

  这几项是Parameter可以输入的参数,其中"type"是必选项。在输入过程中,每次输入"",都会出现提示:

  把前面准备的"storageAccountName"和"storageAccountType"输入到Parameter中。
  "parameters": {
  "storageAccountName":{"type":"string"},
  "storageAccountType":{
  "type": "string",
  "defaultValue": "Standard_LRS",
  "allowedValues": [
  "Standard_LRS",
  "Standard_GRS",
  "Premium_LRS"
  ]
  }
  },

  输入resource内容:
  输入""后,出现提示,其中apiVersion、location、propertises、type、name是必选项:

  同样,每次输入""都会有提示:

  输入完的结果:
  {
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
  "storageAccountName":{"type":"string"},
  "storageAccountType":{
  "type": "string",
  "defaultValue": "Standard_LRS",
  "allowedValues": [
  "Standard_LRS",
  "Standard_GRS",
  "Premium_LRS"
  ]
  }
  },
  "variables": { },
  "resources": [
  {
  "type": "Microsoft.Storage/storageAccounts",
  "name": "",
  "apiVersion": "2015-06-15",
  "location": "",
  "properties": {
  "accountType": ""
  }
  }
  ],
  "outputs": { }
  }

  四 编辑parameter文件
  根据已有的parameter文件,将前面定义的两个参数填好:
  {
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
  "storageAccountName": {
  "value": "hwsa01"
  },
  "storageAccountType": {
  "value": "Standard_LRS"
  }
  }
  }

  至此,两个文件都编辑完成。
  然后通过PowerShell可以将此Template发布到Azure上,创建StorageAccount。
  PS C:\Users\hengz> New-AzureRmResourceGroupDeployment -Name hwarmtemplate -ResourceGroupName hwarm -Mode Incremental -TemplateFile D:\AzureDeploy.json -TemplateParameterFile D:\DeployParameterFile.json
  DeploymentName          : hwarmtemplate
  ResourceGroupName       : hwarm
  ProvisioningState       : Succeeded
  Timestamp               : 2016/9/9 13:29:53
  Mode                  : Incremental
  TemplateLink            :
  Parameters            :
                          Name             Type                     Value   
                          ==================================================
                          storageAccountNameString                     hwsa10   
                          storageAccountTypeString                     Standard_LRS
  Outputs               :
  DeploymentDebugLogLevel :
页: [1]
查看完整版本: 手把手教你创建Azure ARM Template