Chef infra 在节点本身上引导chef客户端

Chef infra 在节点本身上引导chef客户端,chef-infra,Chef Infra,我正在尝试编写一个脚本,该脚本将在引导过程中运行,并安装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 valid

我正在尝试编写一个脚本,该脚本将在引导过程中运行,并安装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)

另外,我不能真正使用刀子,因为它没有配置为chef客户端,一开始就没有安装。我用错证书了吗?我做错了什么?

我猜您使用的是自签名SSL证书。自Chef 12以来,Chef不再信任这些证书

您可以将
ssl\u verify\u mode:verify\u none
添加到您的client.rb,以检查其是否有效


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

我猜您使用的是自签名SSL证书。自Chef 12以来,Chef不再信任这些证书

您可以将
ssl\u verify\u mode:verify\u none
添加到您的client.rb,以检查其是否有效


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

谢谢您的回复。应该在/etc/chef/trusted_证书中添加什么证书?我试着按照你说的做,但是我仍然得到了一些现在对我来说毫无意义的错误:生成于2015-08-06 20:20:23+0000 OpenSSL::X509::CertificateError:嵌套asn1错误/opt/chef/embedded/apps/chef/lib/chef/http/ssl_策略。rb:81:in
each'-/opt/chef/embedded/apps/chef/lib/chef/application/client。rb:382:in
run_应用程序'/opt/chef/embedded/apps/chef/lib/chef/application.rb:60:in
run'/opt/chef/embedded/apps/chef/bin/chef-client:26:in
'/usr/bin/chef-client:55:in
load'/usr/bin/chef-client:55:in
'您在证书上签名了吗?创建证书的具体步骤是什么?我使用的证书是在chef服务器上创建管理员用户时创建的组织验证证书。您应该能够在
/var/opt/opscode/nginx/ca/HOSTNAME.crt
中找到正确的证书。你能试试吗?谢谢你的回复。应该在/etc/chef/trusted_证书中添加什么证书?我试着按照你说的做,但是我仍然得到了一些现在对我来说毫无意义的错误:生成于2015-08-06 20:20:23+0000 OpenSSL::X509::CertificateError:嵌套asn1错误/opt/chef/embedded/apps/chef/lib/chef/http/ssl_策略。rb:81:in
each'-/opt/chef/embedded/apps/chef/lib/chef/application/client。rb:382:in
run_应用程序'/opt/chef/embedded/apps/chef/lib/chef/application.rb:60:in
run'/opt/chef/embedded/apps/chef/bin/chef-client:26:in
'/usr/bin/chef-client:55:in
load'/usr/bin/chef-client:55:in
'您在证书上签名了吗?创建证书的具体步骤是什么?我使用的证书是在chef服务器上创建管理员用户时创建的组织验证证书。您应该能够在
/var/opt/opscode/nginx/ca/HOSTNAME.crt
中找到正确的证书。你能试一下吗?我试着做同样的事情,遇到同样的问题。我试着做同样的事情,遇到同样的问题。