Chef infra 执行刀引导后出现chef客户端连接错误

Chef infra 执行刀引导后出现chef客户端连接错误,chef-infra,Chef Infra,我发现了这些错误[http://pastebin.com/BEgNh2mm]使用chef成功引导节点后出现[chef客户端/服务器错误] 发生的初始错误如下所示 (来自服务器日志的片段): merb:chef服务器(api):工作者(端口4000)~开始请求处理:Wed Aug 08 19:04:32+020012 merb:chef服务器(api):worker(端口4000)~Params:{“name”=>“devhouse”,“controller”=>“clients”,“action

我发现了这些错误[http://pastebin.com/BEgNh2mm]使用chef成功引导节点后出现[chef客户端/服务器错误]

发生的初始错误如下所示

(来自服务器日志的片段):

merb:chef服务器(api):工作者(端口4000)~开始请求处理:Wed Aug 08 19:04:32+020012 merb:chef服务器(api):worker(端口4000)~Params:{“name”=>“devhouse”,“controller”=>“clients”,“action”=>“create”,“admin”=>false} merb:chef服务器(api):工作者(端口4000)~
由对等方重置连接-(Errno::ECONNRESET)

(来自客户端标准输出的代码片段)

[2012-08-08T19:47:57+02:00]信息:*厨师长10.12.0* [2012-08-08T19:47:57+02:00]信息:客户端密钥/etc/chef/Client.pem不存在-正在注册 [2012-08-08T19:47:58+02:00]信息:HTTP请求返回409冲突:客户端已存在 [2012-08-08T19:47:58+02:00]信息:HTTP请求返回403禁止:不允许您执行此操作。 [2012-08-08T19:47:58+02:00]致命:Stacktrace转储到/var/chef/cache/chef-Stacktrace.out [2012-08-08T19:47:58+02:00]致命:Net::HTTPServerException:403“禁止”

从上面的错误中,我唯一能推断的是客户端无法与服务器通信,但是,令人难以置信的是,不知何故,客户端能够向服务器注册,因为执行
刀客户端列表
向客户端显示列表中的哪个字段,但是客户端更新的尝试失败了
403“禁止”


Chef常见错误似乎没有此类行为的任何记录。

听起来Chef client正在使用该主机名向Chef server注册,然后client.pem正在更改,这将在证书未通过SSL检查时导致403。实际上,Chef server具有该证书的公共端,因此可以对节点进行身份验证


如果您两次运行chef客户端安装过程,则会导致此问题。

问题有两部分:

  • 对等方重置连接-(Errno::ECONNRESET)

  • HTTP请求返回409冲突:客户端已存在且致命:Net::HTTPServerException:403“禁止”

  • 第一个问题是我无法与rabbitmq通信,似乎在某个地方rabbitmq上的所有设置都被删除了

    第二个问题,在我的调查过程中(我相信这可能在某处有记录),很明显chef在客户端生成其client.pem文件之前通过rabbitmq将pem信息存储在couchdb中。由于该过程因问题1而未完成,因此创建了客户端,但缺少身份验证信息

    解决方案

  • 停止所有chef服务(solr、服务器、webui)并删除位于/etc/chef下的chef服务器上的所有*.pem文件/
  • 确保rabbitmq配置了所有必要的信息,并使用这些信息更新chef server.rb文件
  • 启动chef服务(solr、server、webui),这将导致再次生成所有必要的.pem文件
  • 运行刀客户端删除“出现问题的节点”
  • 在新节点/引导节点上执行chef客户端

  • 我也面临同样的问题

    主厨客户

    [2013-11-05T14:21:32+05:30] INFO: *** Chef 0.10.4 ***
    [2013-11-05T14:21:34+05:30] INFO: Client key /etc/chef/client.pem is not present - registering
    [2013-11-05T14:21:36+05:30] INFO: HTTP Request Returned 500 Internal Server Error: Connection refused - connect(2)
    [2013-11-05T14:21:36+05:30] ERROR: Server returned error for http://"chef-server":4000/clients, retrying 1/5 in 4s
    [2013-11-05T14:21:40+05:30] INFO: HTTP Request Returned 409 Conflict: Client already exists
    [2013-11-05T14:21:40+05:30] INFO: HTTP Request Returned 403 Forbidden: You are not allowed to take this action.
    [2013-11-05T14:21:40+05:30] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
    [2013-11-05T14:21:40+05:30] FATAL: Net::HTTPServerException: 403 "Forbidden"
    

    我通过在运行chef server的计算机上重新启动rabbitmq服务器解决了此问题。

    感谢Enabrentane的回复,事实并非如此。我能够解决此问题。稍后将发布解决方案。