仮想マシン (192.168.0.21) 上に Chef サーバーを作成しました。サーバーは https で正常に動作します (これは opscode サイトの最新バージョンです)。
knife user list
(およびその他のリスト コマンド) は正常に実行され、正しい結果 (すべてのユーザー/ノード/クライアント。新しいユーザーも正常に表示されます) が返されます。
サーバーにクックブックをアップロードしようとすると、次のエラーが発生します:
ネットワークエラー: getaddrinfo: 名前またはサービスが不明です。ナイフの構成とネットワーク設定を確認してください。
または、この長いエラー:
エラー: ネットワーク エラー: 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:in
open' from /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' from /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
connect' from /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' from /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' from /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' from /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
call' from /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' from /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 はサーバー側で設定する必要があります。
- 編集
/etc/hostname
、例yourhost.dyndns.org
- 走る:
hostname -F /etc/hostname
それだけです
答え2
Chef またはその基盤となるライブラリである rest-client で奇妙なバグに遭遇した可能性があります。
Chef 11.10.alphaでは、これは交換/修正すでに。
次のように、実際のポートを指定することもできますknife.rb
。
chef_server_url 'https://192.168.0.21:443'
これは、現在のライブラリが場所を正しく解釈するのに役立つ可能性があります。