我创建了一个linux映像,我的目的是从同一个VHD创建其他VM。这些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/
答案 0 :(得分: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资源。在修改dependsOn之后,将其添加到属性对象。
{
"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') ]"
}
...