簡體   English   中英

傳遞變量到雲配置廚師?

[英]passing variables to cloud-config chef?

我正在嘗試使用廚師功能使用cloud-init創建用戶數據腳本。 我遇到了一個限制,我想知道是否有解決方法。 我需要我的節點名稱是唯一的,因為Chef服務器將僅接受具有唯一名稱的客戶端。 我已經嘗試了幾種方法來傳遞日期時間變量或實例ID,但似乎無法將變量傳遞給node_name部分。

node_name: "server-app-$INSTANCE_ID"

要么

node_name: "server-app-$(date +%s)"

有沒有一種方法可以避免此錯誤,從而不會按字面意義進行解釋?

Chef encountered an error attempting to create the client "server-app-$INSTANCE_ID"

在寫出client.rb之前,必須先進行擴展:

echo "node_name '$(date +%s)' >> /etc/chef/client.rb"

如果兩台計算機在同一秒內啟動,這仍然可能會沖突。 我強烈建議改用EC2實例ID或IP地址。 您可以從元數據服務器獲取它們。 有關示例,請參見https://github.com/coderanger/brix/blob/master/packer/client-bootstrap.sh#L26-L37

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM