从工作站运行chef客户端

4
我已经在我的一个Ubuntu 12.04操作系统上设置了一个Chef服务器。第二个Ubuntu机器有一个运行着Chef客户端的工作站,我用它来管理其他节点。
因此,让我们按照以下方式决定术语: Chef服务器:S 工作站:W Chef节点N1,N2 ...
我已经使用此处提供的Chef引导程序从工作站W引导了Chef节点N1。 http://wiki.opscode.com/display/chef/Client+Bootstrap+Fast+Start+Guide 之后,我正在尝试从工作站W运行Chef客户端命令以控制节点N1。 我正在使用以下命令:
knife ssh name:chefNode -x ubuntu -P password "sudo chef-client"

这给我抛出了以下错误: ERROR:服务器返回错误http://ec2-XX-XX-XX-XXX.compute-1.amazonaws.com:4000/search/node?=name:chefNode&sort=X_CHEF_id_CHEF_X%20asc&start=0 &rows=1000,重试5/5在58s 错误:内部服务器错误
非常感谢您的帮助或线索。请回答。
3个回答

2

请检查您的rabbitmq-server是否已经正确配置。

要进行配置,请运行以下命令:

rabbitmqctl add_vhost /chef

rabbitmqctl add_user chef testing

rabbitmqctl set_permissions -p /chef chef "." "." ".*"

请查看http://wiki.opscode.com/display/chef/Chef+Indexer

如果您不是root用户,请使用sudo。

另外,请在位于/etc/chef文件夹中的server.rb文件中添加以下行:

amqp_pass "testing"

重启rabbitmq-server服务,一切应该都正常了。


这个已经完成了,朋友...但我认为这不是问题所在。 - dharam
1
我遇到了同样的问题,我的问题通过以下方法得以解决。只需检查一下所有东西是否正常运行。 couchdb、rabbitmq、Chef-Solr、Chef expander和chef-server。 - Manak Wadhwa
好的,谢谢...你给了我希望..我会尽快抽出时间来尝试这个..感谢你的真诚努力 :) - dharam

0
调试与 Chef Server & Co 相关的问题时,我发现一个好的做法是查看服务器日志。对于 Chef Server 11,您只需执行以下操作即可:
$ sudo chef-server-ctl tail

或者

$ sudo chef-server-ctl [<service name>] tail

针对这个具体问题,我会这样做:
$ sudo chef-server-ctl erchef tail

您可以查看请求的响应以及有关失败原因的短消息,格式为 msg=[...]

此外,在运行 knife 时遇到调试问题时,我会进行设置。

log_level                :debug

在 knife.rb 中。


0

"knife ssh" 命令使用 Chef 的 "search" 功能。 @Manak Wadhwa 建议的 Chef Indexer 链接中提到:

Chef Indexer 由 RabbitMQ 消息队列、chef-expander(从队列中拉取消息并格式化)和 chef-solr(Solr 的薄包装器)组成。

所以您也可以检查chef-solr和chef-expander是否都在工作和运行。验证所有配置文件中每个组件的正确服务器IP/端口,包括:

- Chef Server

- Chef Configuration Settings(检查solr.rbserver.rb

尝试从您的工作站进行简单搜索,例如: knife search node "*:*" 或者甚至是 knife status(knife status使用搜索)以获取所有节点的列表。我更喜欢knife status,因为它将返回所有节点的列表,而knife search将返回所有节点作为对象,如果您有许多节点,则不会有太大帮助。无论如何,如果结果是您拥有的所有节点的列表,则搜索正常工作。如果是这种情况,则我要尝试的下一件事是使用以下命令重建索引:
knife index rebuild -y从工作站或更改solrconfig.xml中的maxFieldLength,如下面更详细地描述(2)。

有两个链接可以用来解决搜索故障:

1. [chef] nodes not showing up in `knife status`,在这里,opscode列表上的人们尝试使用knife index rebuild -y命令重建搜索索引并检查与chef-solr相关的目录权限。

2. CHEF-2346,他们谈到了solr中的maxFieldLength,适用于产生大量索引数据的系统。正如您可能已经知道的那样,索引数据是由ohai和所有属性、节点、数据包等产生的数据。我的情况是所有的Windows系统都有这个问题,就像其他大多数人一样。(我提供这个链接的原因是因为我无法估计您的索引数据量。)例如,LDAP可能会产生大量数据。当然,如果您的情况是大量数据,您可以禁用一些ohai插件,如果您不需要它们。(Check Disabling Ohai Plugins.)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接