廚師上傳食譜因網路錯誤而失敗
我在虛擬機(192.168.0.21)上創建了一個廚師伺服器。伺服器在 https 上執行良好(這是 opscode 站點的最後一個版本)。
knife user list
(和其他列表命令)執行良好,返回正確的結果(所有使用者/節點/客戶端。新使用者顯示很好)。當我嘗試將食譜上傳到伺服器時,出現此錯誤:
網路錯誤:getaddrinfo:名稱或服務未知檢查您的刀配置和網路設置
或者這個更長的錯誤:
錯誤:網路錯誤:getaddrinfo:名稱或服務未知 檢查您的刀配置和網路設置 /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
initialize': getaddrinfo: Name or service not known (SocketError) from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
open’ 來自 /opt/chef /embedded/lib/ruby/1.9.1/net/http.rb:763:inblock in connect' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:in
timeout’ 來自 /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:100:intimeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
來自 /opt /chef/embedded/lib/ruby/1.9.1/net/http.rb:756:indo_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in
start’ 來自 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6。 7/lib/restclient/request.rb:172:intransmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in
execute’ 來自 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb :33:inexecute' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:in
put’ 來自 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:153:inblock in uploader_function_for' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:in
從 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:inblock (3 levels) in setup_worker_threads' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in
loop 呼叫’來自 /opt/chef/embedded/lib /ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in `setup_worker_threads 中的塊(2 級)'刀.rb 文件:
log_level :info log_location STDOUT node_name 'dony' client_key '/home/dony/.chef/dony.pem' validation_client_name 'chef-validator' validation_key '/home/dony/Documents/cd/cv.pem' chef_server_url 'https://192.168.0.21' syntax_check_cache_path '/home/dony/.chef/syntax_check_cache' cookbook_path [ "/home/dony/Documents/chef" ]
由於伺服器的其他命令正在執行,因此我無法解決這個問題。
看來是伺服器故障。伺服器 FQDN 應在伺服器端設置。
- 編輯
/etc/hostname
,例如yourhost.dyndns.org
- 跑:
hostname -F /etc/hostname
就這樣
您可能在 Chef 或其底層庫 rest-client 中遇到了一個奇怪的錯誤。
在 Chef 11.10.alpha 中,這可能已經被替換/修復。
您也可以嘗試在 中指定實際埠
knife.rb
,如下所示:chef_server_url 'https://192.168.0.21:443'
這可能有助於目前庫正確解釋該位置。