我有一个可以正常工作的CloudFormation模板,包含用户数据和cloud-init,可以成功连接并建立一个托管的Chef服务器。我在AWS EC2库存图像上使用Ubuntu 12.04。我可以使用cloud-init来安装和配置厨师,但不能实际运行吗?
对于我自己而言,我想继续做,但
1)不配置厨师作为服务运行,仅按需运行(“sudo的厨师客户”)
...或者,或以补充该
2)之前执行的整个厨师安装/配置,但只运行一次,不作为服务
我找不到合适的挂钩,如果有的话通过cloud-init示例来实现这种涉水。我想知道是否有一些设置让厨师允许这个用例?我尝试使用update-rc.d来禁用厨师客户端,但由于它已在运行,所以无法正常工作。
这里是与EC2实例相关联的CF模板中的用户数据的片段:
#cloud-config
resize_rootfs: true
apt_update: true
byobu_by_default: disable
manage_etc_hosts: false
disable_root: true
timezone: Europe/London
package_upgrade: true
package_reboot_if_required: true
apt_sources:
- source: "deb http://apt.opscode.com/ $RELEASE-0.10 main"
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)
xxxx truncated xxxxx
-----END PGP PUBLIC KEY BLOCK-----
chef:
install_type: packages
server_url: xxxxxx
node_name: xxxxx
validation_name: xxxxxx
validation_key: |
-----BEGIN RSA PRIVATE KEY-----
xxxx truncated xxxxx
-----END RSA PRIVATE KEY-----
run_list:
- role[my-server]
environment: production
output: {all: '| tee -a /var/log/cloud-init-output.log'}
你找到一个解决这个问题?回答你自己的问题是可以的。请不要忘记标记答案是正确的! :) – sethvargo 2014-01-02 23:09:56