[英]Azure ARM with Multiple Extensions and multiple VMs
我有点难以理解这个包含多个“Microsoft.Compute/virtualMachines/extensions”和多个 VM 的 Azure ARM 模板:
kafka-on-ubuntu/azuredeploy.json
假设将有 4 个 VM:分别 1 个用于 zookeeper,3 个用于 Kafka 集群,如何确保 Zookeper 的扩展(+script)将恰好在一个 Zookeper VM 上运行,以及如何确保扩展(+script)对于 Kafka 集群将在这 3 个 Kafka 虚拟机上运行? 我更倾向于相信每个扩展都在所有VM 上运行。
这种行为似乎没有很好的记录,但来自Windows 自定义脚本扩展的文档页面:
如果此扩展在 Azure 资源管理器模板中用作独立资源,则资源名称必须采用 virtualMachineName/extensionName 格式。
这似乎暗示自定义脚本扩展应该在何处执行的分辨率是基于名称的。 我想 Linux VM 也是这种情况。
对于您正在查看的特定示例,其中一个虚拟机的名称是:
"name": "[concat('zookprvm', copyindex())]",
而扩展名是:
"name": "[concat('zookprvm', copyindex(), '/installzoo')]",
因此扩展名称的前缀必须与 VM 名称相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.