由于网络错误,厨师上传食谱失败

由于网络错误,厨师上传食谱失败

我在虚拟机 (192.168.0.21) 上创建了一个 chef 服务器。该服务器在 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:inopen'来自/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'来自/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'来自/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:in transmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:inexecute'来自/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:in 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:inloop' 来自 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in `block (2 levels) in setup_worker_threads'

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'

这可能有助于当前图书馆正确解释位置。

相关内容