![](/img/trans.png)
[英]How to get notified when an autoscaled(aws) node chef-client run fails/succeed ?
[英]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.