繁体   English   中英

Chef-client失败,因为client.rb中不存在node_name

[英]chef-client failing as node_name not present in client.rb

我按照此处的指南进行引导,并将节点注册到Chef服务器。 该实例位于自动缩放组中,这就是为什么我选择此方法进行引导。 方案是-我正在通过userdata使用从s3到新启动的实例的client.rb,validation.pem,trusted_certs。

client.rb

log_location     STDOUT
chef_server_url  "https://chef.myserver.org/organizations/org"
validation_client_name "org-validator"
# Using default node name (fqdn)
trusted_certs_dir "/etc/chef/trusted_certs"

下载所需文件后,执行以下命令以$ INSTANCE_ID作为node_name运行Chef-client。

厨师客户端-N $ INSTANCE_ID -j /etc/chef/first-boot.json

初始引导成功,并且该节点以instance-id作为节点名注册到chef-server,但是在运行后续chef-client时,它失败并显示以下错误:

ERROR: 401 "Unauthorized" 

这是由于node.name在client.rb中不存在。 在第一次运行主客户端时,如何在client.rb中输入node_name?

这通常在userdata脚本或配置中处理,例如echo "node_name '$HOSTNAME'" >>/etc/chef/client.rb 具体情况可能会因您的命名方案而异,有时您会对$HOSTNAME进行一些字符串编辑,或者完全使用其他名称。 这不是严格要求的,但是在配置文件中没有名称,Chef使用系统当前的FQDN,听起来像在Chef初始运行中更改了FQDN。 另一种选择是不这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM