【问题标题】:Run multiple custom scripts through Azure templates on same VM通过同一 VM 上的 Azure 模板运行多个自定义脚本
【发布时间】:2018-10-14 21:32:39
【问题描述】:

我有 python script1.py 和 bash 脚本 script2.sh 在使用下面的 sn-p 通过 ARM 模板创建 VM 后运行。由于某种原因,当我添加此 script2.sh 虚拟机创建失败。 'fileUris' 和 commandToExecute 都是正确的。可能是什么原因,以及在哪里查找错误?

{
              "name": "[concat(variables('web'),'/script1')]",                                
              "properties":
               {                   
                    "settings": {
                        "fileUris": ["https://.../script1.py"],
                        "commandToExecute": "python script1.py"
                   }
              }
          },
     {
              "name": "[concat(variables('web'),'/script2')]",                                                 
              "properties":
               {                
                    "settings": {
                        "fileUris": ["https://.../script2.sh"],
                        "commandToExecute": "bash script2.sh"
                   }
              }
          },

为了清楚起见,我省略了类型、apiVersion、位置以及发布者、类型和 typeHandlerVersion。两个脚本都依赖于 "[concat('Microsoft.Compute/virtualMachines/', variables('web'))]"

【问题讨论】:

    标签: azure azure-resource-manager


    【解决方案1】:

    对于 Azure VM 扩展,它是 Azure 资源,而不是资源的属性。因此,如果您想在一个模板中将多个扩展添加到 VM,您应该将每个扩展作为一个资源。这是example

    更新

    如果一个模板中有两个或多个扩展,你应该确定扩展的执行顺序。虽然在一个模板中有多个扩展,但它们仍然在 VM 中一一执行。

    例如,第一个扩展名为

    "[concat(variables('vmName'),'/', 'antiMalwareExtension')]"
    

    并且您需要在第二个扩展中添加“dependsOn”:

    "dependsOn":[  
         "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]",
         "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),'/', 'antiMalwareExtension')]"
      ],
    

    后面的扩展也应该这样。

    【讨论】:

    • 我将它作为单独的资源,而不是属性,类似于 201-dependency-between-scripts-using-extensions 示例
    • 你能给出关于扩展的整个模板代码吗?
    • 这里是 github.com/IrekRomaniuk/azure/blob/master/vm-simple-linux/azuredeploy.json 现在说操作系统类型“Linux”不支持每个处理程序的多个 VMExtensions。已在输入中添加或指定处理程序“Microsoft.Azure.Extensions.CustomScript”的 VMExtension“vm-customscript2”。
    • 您提供的模板运行良好,没有任何错误。我在更新中添加了另一点。
    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 2022-01-16
    • 2019-02-09
    • 1970-01-01
    • 2018-05-13
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多