我有一个由Chef管理的服务器.我需要从不由Chef运行的脚本中访问存在于cookbook数据包中的一些值.
/*Chef REST API允许访问Chef服务器看到的数据包值.这不是我想要的.每次chef-client运行都可能引入一些协调的变化,包括数据包的变化.如果服务器上的数据已经更改但chef-client尚未在本地运行,则本地设置和服务器端数据包可能不同步.*/
我看到两个解决方案:
/var/cache/chef/cookbooks/<book-name>因为它或多或少是正常的Ruby.有更好的选择吗?
将数据从节点哈希或数据包转储到单独的文件中是在Chef服务器和节点上运行的脚本之间进行通信的好方法.如果您的脚本可以解析JSON,那么它非常简单:
file "/etc/script.json" do
owner "root"
group "root"
mode 0644
content node[:whatever].to_json
end
Run Code Online (Sandbox Code Playgroud)
使用Chef REST界面听起来有点矫枉过正,在/ var/cache/chef中摸索是很粗鲁的.( - :
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |