我创建了如下设置,为此我使用的是 Amazon EC2:
我安装了 Chef 服务器并配置了刀的 ubuntu 服务器 12.04 ion。这工作得很好,我能够运行刀命令,它给了我预期的结果。
另一个类似的 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 client list
我收到以下错误:
错误:无法使用密钥 /etc/chef/clientkeys.pem 作为 client1对http://ip-11-213-23-99:4000进行身份验证
我想请你澄清我的以下疑虑:
- 是否也必须将 clientkey.pem 保留在厨师服务器上?如果是,那么在什么位置?
- 我需要将pem文件保存在厨师客户端上的任何特定位置吗?
- 我究竟做错了什么?