如何从命令行设置与节点的厨师?

因此,我使用快速入门指南首次在EC2实例上安装Chef,并且在必须添加节点的地方碰到一堵墙,以便运行“sudo chef-client”不会给我一个“ 401“错误。

以下是我所遵循的步骤

sudo gem sources -a http://gems.opscode.com sudo gem install ohai chef json sudo apt-get install couchdb sudo /etc/init.d/couchdb start sudo /etc/init.d/couchdb status sudo gem install chef-server chef-server-slice sudo gem install stompserver stompserver & sudo vi /etc/chef/server.rb sudo chef-indexer sudo chef-server -c2 -N git clone git://github.com/opscode/chef-repo.git cd chef-repo vi config/rake.rb rake test git ci -am 'Add everything' rake install sudo chef-client 

我已经通过pipe理节点页面阅读,但文档没有给我足够的信息设置自己 – 我已经尝试添加注册令牌,但在/etc/chef/server.rb中指定似乎并没有改变任何东西,而且sudo chef-client -t'token'

我不能在这个实例上使用Web浏览器(尝试过lynx,这似乎不够),所以我所做的任何事情都必须通过命令行来实现。 帮帮我?

如果你刚开始与厨师开始,你可能想跳到厨师0.8 ,这将是真正的即将发布。 即将推出的版本引入了一个新的密钥validationscheme,使您遇到过时的这一点疯狂。

所以你必须删除这个客户端的挂起注册(你不能从命令行执行,所以SSH隧道几乎是你唯一的select),然后你可以这样做:

 echo "{ \"run_list\": [ ] }" > nothing.json sudo chef-client -j nothing.json -t `cat /etc/chef/validation_token` 

并尝试使用“sudo -E厨师客户端”…

厨师的安装指南在这里:

它具有如何安装Chef Server,如何在客户端节点上安装Chef或Chef Solo的链接,以及如何使用Opscode的Hosted Chef作为Chef Server。

原始问题中概述的步骤反映了一个老版本的厨师。