设为首页 收藏本站
查看: 951|回复: 0

[经验分享] 手把手教你创建Azure ARM Template

[复制链接]

尚未签到

发表于 2017-6-30 08:48:10 | 显示全部楼层 |阅读模式
  Azure的ARM模式在中国已经落地了。在ARM模式中,通过ARM的Template批量的创建各种资源是与ASM模式的最大的区别之一。目前Azure ARM的Template数量已经越来越多,更多的客户会选择采用Template的模式进行资源的部署:
DSC0000.png

  在前面的文章中已经介绍了如何通过已有的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。
DSC0001.png

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

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

DSC0004.png

  点击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:
DSC0005.png

  输入json,点击JSON:
DSC0006.png

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

  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:
DSC0008.png

  2 在编辑区域输入"arm":
DSC0009.png

  此时会有提示"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出现提示:
DSC00010.png

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

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

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

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

  输入完的结果:
  {
  "$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": "[parameters('storageAccountName')]",
  "apiVersion": "2015-06-15",
  "location": "[resourceGroup().location]",
  "properties": {
  "accountType": "[parameters('storageAccountType')]"
  }
  }
  ],
  "outputs": { }
  }
DSC00015.png

  四 编辑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"
  }
  }
  }
DSC00016.png

  至此,两个文件都编辑完成。
  然后通过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     
                            ===============  =========================  ==========
                            storageAccountName  String                     hwsa10   
                            storageAccountType  String                     Standard_LRS
  Outputs                 :
  DeploymentDebugLogLevel :  
DSC00017.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389593-1-1.html 上篇帖子: Azure ARM (6) ARM Template简单介绍 下篇帖子: Azure底层架构的初步分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表