廚師上傳食譜因網路錯誤而失敗

廚師上傳食譜因網路錯誤而失敗

我在虛擬機器(192.168.0.21)上創建了一個廚師伺服器。伺服器在 https 上運作良好(這是 opscode 網站的最後一個版本)。

knife user list(和其他清單命令)運作良好,返回正確的結果(所有使用者/節點/客戶端。新使用者顯示得很好)。

當我嘗試將食譜上傳到伺服器時,出現此錯誤:

網路錯誤:getaddrinfo:名稱或服務未知 檢查您的 Knife 設定和網路設定

或這個更長的錯誤:

錯誤:網路錯誤:getaddrinfo:名稱或服務未知 檢查您的 Knife 配置和網路設定 /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:inopen' from /opt/chef /embedded/lib/ruby/1.9.1/net/http.rb:763:in block in connect' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:intimeout' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:100:in timeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:inconnect' from /opt /chef/embedded/lib/ruby/1.9.1/net/http.rb:756:in do_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:instart'來自/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6。 7/lib/restclient/request.rb:172:在transmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in執行'來自/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb :33:in execute' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:input'來自 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:153:in block 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:incall'來自 /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循環' 來自 /opt/chef/embedded/lib/ruby/gems/1.9。 1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:在setup_worker_threads 中的「區塊(2 級)」中

Knife.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" ]

由於伺服器的其他命令正在運行,因此我無法指出該問題。

答案1

看來是伺服器故障。伺服器 FQDN 應在伺服器端設定。

  1. 編輯/etc/hostname,例如yourhost.dyndns.org
  2. 跑步:hostname -F /etc/hostname

就這樣

答案2

您可能在 Chef 或其底層函式庫、rest-client 中遇到了一個奇怪的錯誤。

在 Chef 11.10.alpha 中,這可能是更換/修復已經。

您也可以嘗試在 中指定實際端口knife.rb,如下所示:

chef_server_url          'https://192.168.0.21:443'

這可能有助於當前庫正確解釋該位置。

相關內容