【发布时间】:2019-07-19 02:42:11
【问题描述】:
AWS::CloudFormation::Init 与 virtual machine 的 Azure 资源管理器模板的等效项是什么?我想通过创建一些具有特定内容的文件来初始化虚拟机,然后运行一些脚本。我唯一的选择是在customData 中使用长脚本来创建这些文件和脚本吗?还是在 AWS 上有更好的东西,例如 cfn-init?
我希望能够在我的 Azure 模板中定义一个对象,然后可以在虚拟机初始化期间使用它来安装一些包、编写一些文件和运行一些脚本。在 AWS 中,我可以将其与 cfn-init 一起使用:
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
"apt" : {
"wget" : []
}
},
"files" : {
"/etc/some_file" : {
"content" : "some content"
}
},
"commands" : {
"foo": {
"command" : "echo hello world"
}
}
}
}
}
},
到目前为止,我能找到的唯一选项是 customData,这需要我编写一个大脚本,例如:
#!/bin/bash -ex
sudo apt install wget
cat <<EOF > /etc/some_file
some content
EOF
echo hello world
这种脚本很难维护。如果我要写的文件是二进制的,我需要添加一些像base64这样的hack。
我错过了更好的选择吗?
【问题讨论】:
标签: azure azure-resource-manager