如何将动态值传递给chef节点

时间:2015-02-27 10:28:31

标签: chef

因为我是厨师的新手。我已经完成了所有的确认和安装部分,但是当我专注于动态时;运行时价值没有任何想法。所有的烹饪书通常都是有编码的,但是有任何通用的方式来获得动态价值。我从中得到了帮助 How to pass attributes in chef-client without JSON file? https://docs.chef.io/knife_data_bag.html Chef Data Bags and dynamic variable passing d3.js noob : How to pass dynamic variable as data 没有得到适当的解决方案。 通过提供一些解决方案帮助我

2 个答案:

答案 0 :(得分:1)

通常,动态值通过nodeenvironmentroles传入。每个位置都允许您在不同的先前级别设置节点上的属性。或者,您也可以使用数据库,或根据ohai数据计算值。有关用例的更多详细信息,我们可能会为您指出最合适的解决方案。

答案 1 :(得分:0)

如果您的问题是

  • 启动chef-client时,我可以传递一些值作为参数吗?或
  • 在运营厨师客户端时,我可以要求使用输入吗?

你不能做这样的事情。而不是厨师的方式。 Chef应该以非交互式样式运行,在运行时没有用户输入。实际上,如果您有一个需要用户输入的程序,则需要使其以非交互方式运行或提供答案文件。现在,这个答案文件可以通过模板+属性动态化。多数民众赞成你应该做的。

如果您正在寻找在运行厨师客户端时接受用户输入,那么您最好考虑使用Ansible支持的工具。但是,这不会使您的脚本在Windows上运行,依此类推。