【问题标题】:chef-client failing as node_name not present in client.rbchef-client 失败,因为 client.rb 中不存在 node_name
【发布时间】:2017-08-08 01:52:15
【问题描述】:

我按照教程here 引导并注册一个节点到厨师服务器。该实例位于自动缩放组中,这就是我选择此方法进行引导的原因。 场景是 - 我正在使用 client.rb、validation.pem、trusted_certs 从 s3 到通过 userdata 新启动的实例。

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。

chef-client -N $INSTANCE_ID -j /etc/chef/first-boot.json

初始引导成功,节点注册到 chef-server,instance-id 为 node-name,但是在运行后续的 chef-client 时,它失败并出现错误:

ERROR: 401 "Unauthorized" 

这是由于 client.rb 中不存在 node_name。 如何在第一次 chef-client 运行期间在 client.rb 中输入 node_name?

【问题讨论】:

    标签: amazon-web-services chef-infra


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      相关资源
      最近更新 更多