如何解决将customdata传递给Azure vmss的操作系统选项-Terraform
虽然我们在Virtual machine scale set
中创建了azure
,但也可以像下面这样在Custom data
下传递Operating System
我如何使用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.tf
或terraform.exe
文件所在的路径下有一个test.sh脚本或cloud-init.txt文件。
custom_data = filebase64("${path.module}/test.sh")
如果要在创建VMSS之后寻找执行脚本,可以查看custom extension和this sample。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。