我已经基于Canonical的官方Ubuntu 18.04 AMI使用Packer创建了一个自定义AMI,并使用Packer安装了Nginx,但是在部署由Packer生成的AMI时,我无法让用户数据执行。
以下是我在Packer构建中执行的shell命令:
"provisioners": [
{
"type": "shell",
"inline": [
"sudo apt-get update",
"sudo apt-get upgrade -y",
"sudo apt-get install nginx -y",
"sudo rm -f /var/log/cloud-init.log",
"sudo rm -f /var/log/cloud-init-output.log",
"sudo rm -rf /var/lib/cloud/*",
"sudo cloud-init init",
"sudo cloud-init modules -m final"
]
}
]
我尝试删除最后的2条命令,但这似乎没有任何作用。
答案 0 :(得分:-1)
我们尝试了这种方法,并且在计算机启动时无法运行自定义脚本。我假设您正在使用Terraform / Ansible / Cloudformation来配置资源。我们将用户数据脚本移动到了terraform脚本(也可以在Ansible中完成),以配置基础结构并分配AMI。它对我们有用。