2016-10-22 8 views
0

Я создал образ Linux, и я намерен создать другие виртуальные машины из того же VHD. Эти виртуальные машины должны быть в наборе доступности. Так же есть ли параметр, чтобы указать имя набора доступности с помощью этой команды?Как указать доступность в развертывании шаблонов?

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

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

ответ

1

В файле temp.json добавьте availabilitySetName как переменную (изменить соответственно):

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

Затем добавить его в качестве ресурса:

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

Внизу еще внутри «ресурсов» найдите виртуальную машину, которую вы хотите добавить к набору availabilitySet и сделать его зависимым от вашего ресурса availabilitySet. Сразу после изменения dependOn добавьте его в объект свойств.

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

Update:

При создании виртуальной машины из образа, самый простой способ, чтобы просто создать доступность установки перед развертыванием шаблона так же, как мы уже делаем с сетевым интерфейсом. В этом случае вам нужно только ссылаться на ресурс в объекте «свойства».

"properties": { 
    ... 
    "availabilitySet": { 
     "id": "[resourceId('Microsoft.Compute/availabilitySets', 'myAsName') ]" 
    } 
    ... 
+0

Благодарим за отзыв, но я не могу найти бит Depend's в JSON, который был автоматически сгенерирован, когда я создал изображение. –

+0

Возможно, этот образец поможет вам https://github.com/Azure/azure-quickstart-templates/blob/master/201-2-vms-internal-load-balancer/azuredeploy.json. Если у вас его нет, добавьте его :) –

+0

Это то, что было сгенерировано автоматически - https://gist.github.com/iogbole/df04a510ce5671e69497073735e74ff9. Было бы лучше заменить URL-адрес VHD в шаблоне, который вы связали с моим? Еще раз спасибо –