0

我创建了一个 linux 映像,我的目的是从同一个 VHD 创建其他 VM。这些虚拟机需要位于可用性集中 - 那么是否有一个参数可以使用此命令指定可用性集名称?

azure group deployment create --resource-group myRG --template-file temp.json

参考:https ://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-linux-capture-image/

4

1 回答 1

1

在您的 temp.json 文件中,将 availabilitySetName 添加为变量(相应更改):

"variables": {
 ...
  "availabilitySetName": "myAvSet",
 ...
 }

然后将其添加为资源:

"resources": [
 ...
 {
  "type": "Microsoft.Compute/availabilitySets",
  "name": "[variables('availabilitySetName')]",
  "apiVersion": "2015-06-15",
  "location": "[resourceGroup().location]",
  "properties": {}
 }
 ...

在“资源”内部,找到要添加到可用性集的虚拟机并使其依赖于可用性集资源。修改dependsOn后,将其添加到properties对象中。

 {
  "apiVersion": "2015-06-15",
  "type": "Microsoft.Compute/virtualMachines",
  ...
  "dependsOn": [
    ...
    "[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"
    ...
  ],
  "properties": {
    ...
    "availabilitySet": {
      "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName')) ]"
    }
  ...
  }

更新:

从映像创建 VM 时,最简单的方法是在部署模板之前创建可用性集,就像我们已经对网络接口所做的那样。在这种情况下,您只需在“属性”对象中引用资源。

"properties": {
    ...
    "availabilitySet": {
      "id": "[resourceId('Microsoft.Compute/availabilitySets', 'myAsName') ]"
    }
  ...
于 2016-10-22T16:04:33.373 回答