簡體   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