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的技巧。
我错过了更好的选择吗?
答案 0 :(得分:1)
答案 1 :(得分:0)