1

以下のようにセットアップを作成しました。これらすべてに Amazon EC2 を使用しています。

Chefサーバーがインストールされ、ナイフが構成されているubuntuサーバー12.04イオン。これは完全に正常に機能しており、ナイフ コマンドを実行でき、期待どおりの結果が得られています。

別の同様のubuntuサーバーをシェフクライアントとして使用しようとしています。シェフをインストールし、クライアントを構成しました。また、クライアントにナイフをインストールしました。インストール後にコマンドを実行したため、これが正しくインストールされていることがわかります

knife --version 

私は出力を得ました

Chef: 10.16.2

これで、knife.rb ファイルが構成されました。内容は次のとおりです。 log_level :info log_location STDOUT node_name 'knife' cache_type 'BasicFile' cache_options( :path => "~/.chef/checksums" ) client_key '~/.chef/clientkey.pem'

cookbook_path       [ "~/mychefrepo/cookbooks" ]
cookbook_copyright "example org"
cookbook_email     "cookbooks@example.net"
cookbook_license   "apachev2"

chef_server_url    "http://ip-11-213-23-99:4000"

validation_key      "~/.chef/validation.pem"

設定後knifeコマンドを実行すると

knife client list

次のエラーが表示されます。

エラー:キー /etc/chef/clientkeys.pem を使用して client1 としてhttp://ip-11-213-23-99:4000への認証に失敗しました

以下の疑問を解消していただきたいと思います。

  1. シェフサーバーにもclientkey.pemを保持することは必須ですか? はいの場合、どの場所にありますか?
  2. シェフクライアントでpemファイルを保持する必要がある特定の場所はありますか?
  3. 私は何を間違っていますか?
4

2 に答える 2

1

クライアントはchef-serverに適切に存在しますか?これはあなたのnode_nameなので、「ナイフ」と呼ばれると思います。

http://ip-11-213-23-99:4040/clients

サーバーの[クライアント]タブに移動してserver-webuiで確認できるように、クライアントのpemキーはサーバーに登録されます。キーはCouchDBに保存されます。この値は、サーバーでchef-clientを実行するとここに表示されます。

指定されたpemキーの値は、指定された「node_name」のクライアントビューに表示される保存されたpemと一致する必要があります。そうですか?

クライアントキー自体はどこにでも保存できます。

于 2012-12-03T17:40:22.773 に答える