6

我有一个简单的 cloud-init 用户数据,我将其传递给 ec2。我通过右键单击实例并在其中设置用户数据来在我的 ec2 实例上设置此数据。

以下是我的 cloud-init 用户数据

#cloud-config

runcmd:
 - [ ls, -l, / ]
 - [ sh, -xc, "echo $(date) ': hello world!'" ]
 - [ sh, -c, echo "=========hello world'=========" ]
 - [ touch, /home/ec2-user/hello.txt ]

final_message: "The system is finally up, after 10 seconds"

我从这里得到了这个例子,我添加了触摸命令

我的期望是查看 /var/log/cloud-init.log 上的数据。但我在那里看不到。我也没有看到任何错误,也没有看到创建的 hello.txt 文件

有什么我想念的吗?

我正在运行一个 amazon linux 实例而不是 ubuntu 实例

4

1 回答 1

7

这是您的第三个命令中的语法错误:

- [ sh, -c, echo "=========hello world'=========" ]

这是一个有效的用户数据:

#cloud-config

runcmd:
 - [ ls, -l, / ]
 - [ sh, -xc, 'echo $(date) ": hello world!"' ]
 - [ sh, -c, 'echo "=========hello world========="' ]
 - [ touch, /home/ec2-user/hello.txt ]

final_message: "The system is finally up"

output : { all : '| tee -a /var/log/cloud-init-output.log' }

请注意,它仅显示 cloud-init 执行日志/var/log/cloud-init.log/var/log/cloud-init-output.log您应该在指定output指令后看到输出。

于 2014-06-01T04:33:45.847 回答