我试图通过运行以下引导一个新的厨师节点:
knife bootstrap <server ip> -x lewis -N gitlab --sudo
但是我得到以下输出:
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: *** Chef 10.12.0 ***
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: Client key /etc/chef/client.pem is not present - registering
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: HTTP Request Returned 401 Unauthorized: Failed to authenticate. Ensure that your client key is valid.
[Mon, 03 Sep 2012 14:45:17 +0000] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[Mon, 03 Sep 2012 14:45:17 +0000] FATAL: Net::HTTPServerException: 401 "Unauthorized"
我的厨师服务器正在运行Ubuntu 12.04 x32,我试图启动的机器正在运行CentOS 6.3 x64
任何想法出了什么问题?
我只是有同样的问题,并从这个线程http://comments.gmane.org/gmane.comp.sysutils.chef.user/2718
或者ssh进入你的潜在客户端机器并删除/etc/chef/client.pem或者运行这个quicky
ssh -t [email protected] "sudo rm /etc/chef/client.pem"
再次运行knife bootstrap ,它应该工作。 您可能已经在另一个厨师服务器上注册过此机器。
这工作对我来说http://wiki.opscode.com/display/chef/Common+Errors#CommonErrors-401Unauthorized (usingvalidatorAPIclient)
您需要删除validation.pem并重新启动chef-server,因为它在当前的ubuntu chef-server包中默认被破坏。
要得到knife-bootstrap的工作,像这样添加条目到你的~/.chef/knife.rb :
validation_client_name "chef-validator" validation_key "#{ENV["HOME"]}/.chef/validation.pem"
并将Chef服务器的/etc/chef/validation.pem文件复制到$HOME/.chef/validation.pem 。
如果你不喜欢刀引导,还有其他一些自动设置的方法
过去,我已经成功地使用了cloud-init,但是它有一些怪癖。