我正在尝试在我的AWS ec2实例上安装Chef。我使用一个ec2作为工作站,使用另一个ec2作为节点,并托管Chef作为Chef服务器。
在工作站上,Im能够创建一个简单的项目(LAMP堆栈)并将其上传到Chef服务器。 当我在工作站上使用带有节点ec2实例的密钥对的刀子引导程序时,它成功收敛。
Chef Client finished, 1/1 resources updated in 01 minutes 23 seconds
但是当我转到Chef节点并运行Chef-client时,出现以下错误:
Private Key Not Found:
----------------------
Your private key could not be loaded. If the key file exists, ensure that it is
readable by chef-client.
Relevant Config Settings:
-------------------------
validation_key "/etc/chef/validation.pem"
System Info:
------------
chef_version=14.12.9
ruby=ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
program_name=/usr/bin/chef-client
executable=/opt/chef/bin/chef-client
Running handlers:
[2019-05-17T21:35:04+00:00] ERROR: Running exception handlers
Running handlers complete
[2019-05-17T21:35:04+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 00 seconds
[2019-05-17T21:35:04+00:00] FATAL: Stacktrace dumped to /home/ubuntu/.chef/cache/chef-stacktrace.out
[2019-05-17T21:35:04+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2019-05-17T21:35:04+00:00] FATAL: Chef::Exceptions::PrivateKeyMissing: I cannot read /etc/chef/client.pem, which you told me to use to sign requests!
在工作站上,我运行了刀列表,并且可以看到列出的节点和验证器。在托管的Chef中,看不到节点下方列出的Chef节点。
请您能帮助我理解该错误以及如何解决? 我给人的印象是引导程序会处理节点证书,因此令我惊讶的是该节点无法加载私钥。
谢谢