VMSS中的自定义扩展

时间:2018-11-30 09:57:50

标签: azure terraform azure-vm-scale-set terraform-provider-azure

一旦VMSS启动,我想执行一个Shell脚本作为VMSS扩展的一部分。这是我尝试过的但脚本未执行。

我的初步分析是该脚本不适用于VMSS;在这种情况下,如何将脚本与tf构建一起复制,我不想上传到blob存储并在此处提供路径。对于VM,我可以使用文件配置程序和remote-exec来实现相同的目的。

..................................
extension {
    name = "StartupScript"
    publisher = "Microsoft.OSTCExtensions"
    type = "CustomScriptForLinux"
    type_handler_version = "1.5"
    settings = <<-SETTINGS
    {
        "commandToExecute": "${var.startup_command}",
        #Script path from where my TF is running
        "script": "${base64encode("/bin/sh ./path_to_custom_scripts/my_script.sh script_param")}",
        "enableInternalDNSCheck": "false"
    }
    SETTINGS
  }
  ..................................

在extension.log中找不到太多信息,非常有帮助。

1 个答案:

答案 0 :(得分:1)

不,您不能使用文件配置器,至少我看不到采用这种方法的明确路径,因为这不是单个vm,而是vm的合并。

对于您的原始问题,没有真正的解决方法,如果您想要脚本扩展,则必须将其上载到节点以将其拉下。

您可以尝试使用customData属性。这使您可以将某些内容存储在vm \ vmss节点上,以便在供应时将其添加到该节点。