4

我是一个新手,试图引导和 ec2 实例,但对厨师没有任何作用。

  1. 我正在使用厨师服务器
  2. 我的开发机器的用户名是ubuntu。我想保持它与 ec2 的 ubuntu 相同的名称。

我试过这个命令。

ubuntu@ubuntu:~/.chef$ knife ec2 server create -x ubuntu -r "role[testredis]" --region ap-southeast-1 -Z ap-southeast-1a -i ami-ae1a5dfc -f t1.micro -S testpem -I ~/.ec2/testpem.pem -S knife --ssh-user ubuntu 

我得到了以下输出

ERROR: You have not provided a valid image (AMI) value.  Please note the short option for this value recently changed from '-i' to '-I'.

然后我尝试了以下。

knife bootstrap ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com -r "role[testredis]" -x ubuntu -i ~/.ec2/sg_development.pem --sudo

我得到了以下输出

ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com /usr/bin/knife
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com /usr/bin/shef
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com Successfully installed chef-0.10.8
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com 1 gem installed
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com [Fri, 23 Mar 2012 23:56:02 +0000] INFO: *** Chef 0.10.8 ***
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com [Fri, 23 Mar 2012 23:56:03 +0000] INFO: Client key /etc/chef/client.pem is not present - registering
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com [Fri, 23 Mar 2012 23:56:03 +0000] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
ec2-46-137-231-241.ap-southeast-1.compute.amazonaws.com [Fri, 23 Mar 2012 23:56:03 +0000] FATAL: OpenSSL::PKey::RSAError: private key needed.: no start line

我注意到 ec2 实例上的/etc/chef/client.pem是我运行刀命令的开发计算机上的 pem。

那么,我该怎么办?是节点名冲突吗?

4

1 回答 1

6

看起来缺少或格式错误的验证密钥。您需要从您的chef-serverOpscode Hosted Chef帐户中获取此信息,以便向服务器注册新节点。检查.chef/knife.rb中的配置。您需要一个验证密钥(通常是“ ORGNAME-validator.pem”),它与 client.pem 不同。

http://wiki.opscode.com/display/chef/Authentication+and+Authorization

于 2012-04-01T22:52:02.733 回答