我正在尝试使用chef特性创建一个带有cloud-init的用户数据脚本。我遇到了一个限制,我想知道是否有办法绕过它。我需要我的节点名称是唯一的,因为chef服务器将只接受具有唯一名称的客户端。我尝试了几种方法来传递datetime变量或实例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"发布于 2015-01-10 05:25:29
在写出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。
https://stackoverflow.com/questions/27868725
复制相似问题