手把手教你建立Azure ARM Template

衡子發表於2016-09-09

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 :

 

相關文章