厨师上传菜谱失败,networking错误

我在虚拟机上创build了一个厨师服务器(192.168.0.21)。 服务器在https上运行良好(这是opscode站点的最后一个版本)。

knife user list (和其他列表命令)运行良好,返回正确的结果(所有的用户/节点/客户端,新用户显示就好了)。

当我试图上传一个食谱到服务器,我得到这个错误:

networking错误:getaddrinfo:名称或服务未知检查您的具configuration和networking设置

或者这个更长的错误:

错误:networking错误:getaddrinfo:名称或服务未知检查您的刀具configuration和networking设置/opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763: initialize': getaddrinfo: Name or service not known (SocketError) 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:763:in block in connect' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:in timeout from /opt/chef/embedded/lib/ruby/1.9 .1 / timeout.rb:100:在/ opt / chef / embedded / lib / ruby​​中timeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in连接timeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in /1.9.1/net/http.rb:756 do_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in开始/从/ opt / chef /embeddeddo_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in /lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in transmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in执行'from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6 0.7 / LIB / restclie nt / 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:in把/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:in call from /opt/chef/embedded/lib/ruby/gems/1.9.1/ gem / chef-11.8.0 / lib / chef / cookbook_uploader.rb:25: block (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“from /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" ] 

由于其他命令到服务器正在工作,我不能把我的手指在这个问题上。

看来这是服务器故障。 服务器端FQDN应设置在服务器端。

  1. 编辑/etc/hostname ,例如yourhost.dyndns.org
  2. 运行: hostname -F /etc/hostname

就这样

你可能会遇到一个奇怪的错误在厨师或它的底层库,rest客户端。

在厨师11.10.alpha,这可能已经被replace/固定 。

您也可以尝试在knife.rb指定实际的端口,如下所示:

 chef_server_url 'https://192.168.0.21:443' 

这可能会帮助当前的库正确解释位置。