微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将customdata传递给Azure vmss的操作系统选项-Terraform

如何解决将customdata传递给Azure vmss的操作系统选项-Terraform

虽然我们在Virtual machine scale set中创建了azure,但也可以像下面这样在Custom data下传递Operating System

enter image description here

我如何使用terraform在此处传递脚本,有一个选项custom data似乎用于terraform的新创建的计算机,但是脚本未存储在此处。如何使用terraform填充脚本。任何帮助,将不胜感激。

解决方法

只能从official document中将custom_data在设置时间传递到Azure VM。

自定义数据仅在首次启动/初始化期间可用于VM 设置,我们称为“配置”。设置是其中的过程 VM创建参数(例如,主机名,用户名,密码, 证书,自定义数据,密钥等)可供VM使用, 设置代理处理它们,例如Linux代理和 cloud-init。

脚本保存与操作系统不同。

Windows

自定义数据作为二进制文件放置在%SYSTEMDRIVE%\AzureData\CustomData.bin中,但未处理。

Linux

自定义数据通过ovf-env.xml文件传递到VM,该文件在配置期间复制到/var/lib/waagent目录中。为了方便起见,较新版本的Microsoft Azure Linux代理还将复制base64编码的数据到/var/lib/waagent/CustomData

要将custom_data从本地路径上传到具有Terraform的Azure VM,可以使用filebase64函数。

例如,您的main.tfterraform.exe文件所在的路径下有一个test.sh脚本或cloud-init.txt文件。

 custom_data = filebase64("${path.module}/test.sh")

如果要在创建VMSS之后寻找执行脚本,可以查看custom extensionthis sample

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。