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