首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量传递给cloud-config chef?

将变量传递给cloud-config chef?
EN

Stack Overflow用户
提问于 2015-01-10 04:30:03
回答 1查看 951关注 0票数 1

我正在尝试使用chef特性创建一个带有cloud-init的用户数据脚本。我遇到了一个限制,我想知道是否有办法绕过它。我需要我的节点名称是唯一的,因为chef服务器将只接受具有唯一名称的客户端。我尝试了几种方法来传递datetime变量或实例ID,但似乎不能将变量传递给node_name部分。

代码语言:javascript
复制
node_name: "server-app-$INSTANCE_ID"

代码语言:javascript
复制
node_name: "server-app-$(date +%s)"

有没有办法避免这种情况,这样它就不会被逐字解释了?

代码语言:javascript
复制
Chef encountered an error attempting to create the client "server-app-$INSTANCE_ID"
EN

回答 1

Stack Overflow用户

发布于 2015-01-10 05:25:29

在写出client.rb之前,您必须进行扩展

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27868725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档