在节点上引导厨师客户端

时间:2015-08-06 19:55:22

标签: chef

我正在尝试编写一个将在启动过程中运行并安装Chef客户端的脚本。 validation.pem和client.rb文件放在/ etc / chef文件夹中,这里的validation.pem取自chef服务器,是organization-validation.pem文件。我已创建此VM的映像并用于创建另一个VM。这个脚本运行chef-client,出于某种原因,我得到了这个:

Creating a new client identity for node1 using the validator key.
[2015-08-06T19:52:16+00:00] ERROR: SSL Validation failure connecting to host:     xxx.xxx.xxx.xxx - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Running handlers:
[2015-08-06T19:52:16+00:00] ERROR: Running exception handlers
Running handlers complete
[2015-08-06T19:52:16+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 2.966424961 seconds
[2015-08-06T19:52:16+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-    
stacktrace.out
[2015-08-06T19:52:16+00:00] ERROR: SSL_connect returned=1 errno=0 state=SSLv3     
read server certificate B: certificate verify failed
[2015-08-06T19:52:16+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

另外,我无法真正使用Knife,因为它没有配置,因为没有安装厨师客户端。我使用了错误的证书吗?我做错了什么?

1 个答案:

答案 0 :(得分:0)

我猜你正在使用自签名的SSL证书。从Chef 12开始,Chef不再信任这些证书了。

您可以将ssl_verify_mode :verify_none添加到您的client.rb,只是为了检查它是否有效。

解决此问题的正确方法是将证书添加到/etc/chef/trusted_certs