Cloud-init 未在 Fedora 16 上执行

Cloud-init 未在 Fedora 16 上执行

Cloud init 不附带我从 Amazon 上传的基本实例(Fedora 16 x86_64),因此我使用

sudo yum install cloud-init

现在当我通过启动这个实例时

ec2-run-instance -f my_bash_script

它复制my_bash_script/var/lib/cloud/instances/user-data.txt

但是,脚本中的命令似乎都没有执行(主要是初始化 chef)

我在网上看到 CentOS 使用用户数据脚本在cloud-init-user-script首次启动时进行初始化。我以为 Fedora 也是这样,但我的系统上没有这个脚本。

我跑了

grep 'user-data.txt' /var/log/cloud-init.log

但它没有返回任何结果。

如何在 Fedora 上正确配置它,以便可以在创建实例时执行用户数据脚本?

答案1

检查用户数据中给出的脚本是否已创建为可执行脚本,/var/lib/cloud/instances/scripts/如果已创建,则初始化部分已成功完成。

cloud-init-cfg all final之后需要执行该命令,该命令会调用文件cloud_final_modules中的部分参数/etc/cloud/cloud.cfg。因此,创建一个可以执行该命令的新服务,并且该服务应命名为在服务之后运行cloud-init

答案2

我发现问题在于,cloud-init 在最后一刻匆忙加入 F16。因此,开箱即用的 cloud-init 仅适用于 cloud-config 设置。为了让 fedora 能够使用用户数据输入脚本,我决定使用 Fedora 18 AMI,其中默认包含此功能。

相关内容