每次重新启动VM时,都会运行ARM模板中指定的自定义脚本扩展吗?

时间:2017-01-09 03:40:51

标签: azure azure-virtual-machine azure-resource-manager arm-template

我使用以下链接中的示例模板来创建具有自定义脚本扩展名的VM:

https://github.com/Azure/azure-quickstart-templates/tree/master/201-vm-custom-script-windows

如果我从azure门户停止并启动VM,则自定义脚本扩展在启动时运行。但是,如果我从VM中重新启动VM(通过从“开始”菜单中选择“重新启动”),则不会运行自定义脚本扩展。当从VM内重新启动VM时,为什么不运行自定义脚本扩展?是否仅在从解除分配状态启动VM时执行自定义脚本扩展?

使用VM比例集时,如果我解除分配,然后在Azure门户的比例集中启动单个VM,则不会执行该VM的自定义脚本扩展。但是,如果我从Azure门户解除分配然后启动整个比例集,则会为每个VM执行自定义脚本扩展。

2 个答案:

答案 0 :(得分:7)

Azure自定义脚本扩展允许Azure VM的所有者运行存储在Azure存储during or after VM provisioning中的脚本。脚本扩展仅在每个VM上执行一次,而不是每次机器启动时 - 但如果您通过Azure门户停止VM并再次启动VM,则将重新配置VM,以便脚本再次运行。停止和停止(取消分配)Azure虚拟机的状态之间的差异,请参阅link 如果需要重复运行脚本,可以在自定义脚本扩展中添加timestamp参数,更多信息请参考link

答案 1 :(得分:0)

没有。一旦VM停止(解除分配或重新启动)然后启动VM,每次都不会运行自定义脚本。

自定义脚本将仅在运行时执行 - 仅在VM配置期间首次运行。

取消分配VM并启动VM只关注公共IP地址的变化。但是,dns命名将保持不变。