具有不同 Vm 名称、大小和相同自定义的多个 Vms Arm 模板
Multiple Vms Arm template with different Vm names,sizes and same custom
我见过很多使用复制功能将多虚拟机创建为循环的模板。例如:vm1、vm2 等。但这不是我们实践的方式,因为每个 vm 都有不同的功能,命名约定也无济于事。
我正在尝试创建一个具有不同 vM 名称、大小和单个自定义图像的模板。
有人可以帮忙吗?
通过使用参数,我们可以区分 VM 名称、大小等:
"parameters": {
"org": {
"type": "array",
"defaultValue": [
"contoso",
"fabrikam",
"coho"
]
}
},
因为 Copy 函数可以从参数数组中获取正确的值,并且可以自动使用 length() 设置计数。
参考MS Docs了解更多。
也看看这个 answer,感谢 SamaraSoucy 的解释。
我建议在模板的参数或变量部分使用 name/value 对数组,例如,
"parameters": {
"vms": {
"type": "array",
"defaultValue": [
{
"name": "vm1",
"size": "Standard_DS1_v2"
},
{
"name": "vm2",
"size": "Standard_A1_v2"
}
]
}
}
然后您可以使用
取消引用数组
"copy": {
"name": "vmCopy",
"count": "[length(parameters('vms'))]"
}
和
parameters('vms')[copyIndex()].name
parameters('vms')[copyIndex()].size
我见过很多使用复制功能将多虚拟机创建为循环的模板。例如:vm1、vm2 等。但这不是我们实践的方式,因为每个 vm 都有不同的功能,命名约定也无济于事。 我正在尝试创建一个具有不同 vM 名称、大小和单个自定义图像的模板。 有人可以帮忙吗?
通过使用参数,我们可以区分 VM 名称、大小等:
"parameters": {
"org": {
"type": "array",
"defaultValue": [
"contoso",
"fabrikam",
"coho"
]
}
},
因为 Copy 函数可以从参数数组中获取正确的值,并且可以自动使用 length() 设置计数。
参考MS Docs了解更多。
也看看这个 answer,感谢 SamaraSoucy 的解释。
我建议在模板的参数或变量部分使用 name/value 对数组,例如,
"parameters": {
"vms": {
"type": "array",
"defaultValue": [
{
"name": "vm1",
"size": "Standard_DS1_v2"
},
{
"name": "vm2",
"size": "Standard_A1_v2"
}
]
}
}
然后您可以使用
取消引用数组"copy": {
"name": "vmCopy",
"count": "[length(parameters('vms'))]"
}
和
parameters('vms')[copyIndex()].name
parameters('vms')[copyIndex()].size