如何将动态参数添加到Chef的节点?

时间:2013-09-11 14:51:23

标签: chef knife

我有一个由Chef控制的基础架构,每天都有很多服务器部署。我需要根据用户信息为每个节点添加一些动态数据,例如:

user_data:
  first_name: aaa
  last_name: bbb
  department: ccc

knife node edit看起来不像我需要的,因为我不想动态解析文件,只添加(和重写)单个参数结构。

修改 如果没有原生方式,这个插件似乎相当不错:https://github.com/amian84/knife-set-attribute

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

如果您尝试动态管理计算机上的用户,可以尝试使用chef-user cookbook。您可以将用户设置为具有少量属性的数据包,并在其中添加自己的厨师用户菜谱,添加用户及其所有属性。

如果您确实需要操作自定义数据,则可以使用您想要的任何结构创建自己的数据包,然后使用配方中的search function。这将允许您上传要查询的任何数据,并在调用时将其拉入您的食谱。

虽然有方法可以动态填充节点属性,但为厨师提供动态数据的“更好”方式是使用数据包。