如何从命令行使用节点设置 chef?

如何从命令行使用节点设置 chef?

因此,我第一次在 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

我已经阅读过管理节点页面但是文档没有给我足够的信息来进行设置——我曾尝试添加注册令牌,但在 /etc/chef/server.rb 中指定它似乎没有改变任何东西,sudo chef-client -t 'token' 也没有改变任何东西

我无法在此实例上使用 Web 浏览器(尝试过 lynx,但似乎不够用),因此我所做的任何事情都必须通过命令行才能完成。帮忙吗?

答案1

如果你刚刚开始使用 Chef,你可能需要直接跳至 ​​chef 0.8,即将发布。即将发布的版本引入了一种新的密钥验证方案,可让您遇到的这种疯狂现象变得过时。

答案2

因此,您必须删除此客户端的待处理注册(您无法从命令行执行此操作,因此 SSH 隧道几乎是您唯一的选择),然后您可以执行以下操作:

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

答案3

并尝试使用“sudo -E chef-client”...

答案4

Chef 的安装指南在这里:

它包含有关如何安装 Chef 服务器、如何在客户端节点或 Chef Solo 上安装 Chef 以及如何使用 Opscode 的 Hosted Chef 作为 Chef 服务器的链接。

原始问题中概述的步骤反映了 Chef 的旧版本。

相关内容