2012-08-08 100 views
3

成功地引導與廚師的節點後,我得到這些錯誤[http://pastebin.com/BEgNh2mm][chef-client/server錯誤]。執行刀引導後的廚師 - 客戶端連接錯誤

其中發生初始誤差是如下

(從服務器日誌片斷):

了merb:廚師服務器(API):工人(端口4000)〜發起者請求處理:星期三19年8月8日:04:32 +0200 2012 merb:chef-server(api):worker(port 4000)〜Params:{「name」=>「devhouse」,「controller」=>「clients」,「action」=>創建」, 「管理員」=>假} 了merb:廚師服務器(API):工人(端口4000)〜Connection reset by peer - (Errno::ECONNRESET)

(片斷從客戶STDOUT)

[2012-08-08T19:47:57 + 02:00]信息:*主廚10.12.0 * [2012-08-08T19:47:57 + 02:00] /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「Forbidden」

從上面的錯誤我唯一可以推斷出的是,客戶端無法與服務器通信,但令人難以置信的事情是,不知何故客戶端能夠向服務器註冊原因執行knife client list顯示客戶端列表中的哪個字段但客戶端嘗試更新失敗403 "Forbidden"

廚師常見錯誤似乎沒有任何此類行爲的記錄。

回答

9

的問題有兩個部分是:通過對

  1. 連接復位 - (錯誤:: ECONNRESET)

  2. HTTP請求返回409衝突:客戶端已經存在,並且FATAL:網:: HTTPServerException:403「禁止」

的第一個問題,我能夠縮小到廚師也不能與RabbitMQ的溝通,似乎某處沿線所有rabbitmq上的設置被刪除。

第二個問題,我的調查中(我相信這應該是介於記錄),可以明顯看到,廚師存儲通過RabbitMQ的PEM信息CouchDB中之前,客戶端生成它的client.pem文件。由於該過程沒有完成,由於發行1,創建客戶端,但認證信息不見了。坐落在/ etc /廚師廚師服務器/

解決方案

  1. 停止所有廚師服務(Solr的,服務器,Web用戶界面),並刪除所有* .PEM文件
  2. 確保RabbitMQ的配置與所有必要的信息和更新您的廚師server.rb文件與信息
  3. 啓動廚師服務(solr,服務器,webui),這將導致所有必要的.pem文件再次生成
  4. run knife client delete「node哪位-had-新/自舉節點上的問題」
  5. 執行廚師客戶
0

這聽起來像廚師的客戶端與廚師服務器註冊與該主機名,然後client.pem被改變,那麼這將導致403時,證書沒有通過SSL檢查。從本質上講,廚師服務器具有該證書的公共端,因此它可以對節點進行身份驗證。

如果您運行的是廚師的客戶端安裝過程的兩倍,這將導致此。

+0

非常感謝Enabrentane的迴應,事實並非如此。我能夠解決問題。很快就會發布解決方案。 – isawk 2012-08-10 06:30:10

1

我面臨同樣的問題。

廚師客戶

[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" 

我通過重新啓動服務器的RabbitMQ廚師在那裏服務器運行的機器上解決了這個問題。