1

VMSS 启动后,我想执行一个 shell 脚本作为 VMSS 扩展的一部分。这是我尝试过的,但脚本没有执行。

我最初的分析是脚本对 VMSS 不可用;在这种情况下,如何将脚本与 tf 构建一起复制,我不想上传到 blob 存储并在此处提供路径。在虚拟机的情况下,我可以使用文件配置器和远程执行来实现相同的目标。

..................................
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 中没有找到太多信息,任何帮助都是非常可观的。

4

1 回答 1

1

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

至于您最初的问题,没有真正的方法可以做到这一点,如果您想要脚本扩展,您必须将其上传到某个地方以便节点将其拉下。

您可以尝试使用customData属性。这允许您在 vm\vmss 节点上存储一些内容,以便在配置时将其添加到其中。

于 2018-11-30T10:09:56.033 回答