[英]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.