1

ubuntu ec2 インスタンスでオープンソースのシェフ サーバーを実行しています。ナイフを使用してワークステーションからシェフサーバーにクックブックをアップロードしようとしていますが、次のエラーが表示されます

/home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:878:in `initialize': getaddrinfo: Name or service not known (SocketError)
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:878:in `open'
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:878:in `block in connect'
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:877:in `connect'
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
    from /home/jeevan/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/net/http.rb:851:in `start'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:in `put'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/chef-11.6.0/lib/chef/cookbook_uploader.rb:151:in `block in uploader_function_for'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/chef-11.6.0/lib/chef/cookbook_uploader.rb:25:in `call'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/chef-11.6.0/lib/chef/cookbook_uploader.rb:25:in `block (3 levels) in setup_worker_threads'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/chef-11.6.0/lib/chef/cookbook_uploader.rb:24:in `loop'
    from /home/jeevan/.rvm/gems/ruby-2.0.0-p195/gems/chef-11.6.0/lib/chef/cookbook_uploader.rb:24:in `block (2 levels) in setup_worker_threads'

詳細モードで同じコマンドを実行すると、ラップトップにインストールされているナイフ、ワークステーション、またはシェフクライアントがubuntu ec2インスタンスのプライベートIPに接続しようとしていることがわかりました。

ナイフがubuntu ec2インスタンスのプライベートIPへの接続を停止し、サーバーのサブドメイン/ドメインまたはエラスティックIPに接続するのを防ぐにはどうすればよいですか.

助けてください

4

1 に答える 1

2

シェフ構成ファイルでchef_server_urlをどのように構成したかを確認してください。

ホスト名だけでなく、サーバーに fqdn を構成することもできます。

たとえば、マシンの名前がmyhserver.mycompany.comの場合、(knife.rb で) 構成した場合

Chef_server_url 'myserver:8080'

サーバーはプライベートIPに解決される可能性があり、構成した場合

Chef_server_url 'myserver.mycompany.com:8080'

その後、パブリック IP に解決される場合があります。DNS の構成方法によって異なります。

注: (ホスト名/fqdn の代わりに) IP を指すようにchef_server_urlを構成することも検討できます。

于 2013-09-25T10:39:03.023 に答える