当食谱上传完成后,如何在相关节点上运行chef-client?

当食谱上传完成后,如何在相关节点上运行chef-client?

我希望我的 chef-client 在菜谱发生变更时运行。这可能吗?

我发现“在 X 分钟内运行一次”这个方法不太理想。当我更改某些内容时,我希望它立即应用,这样我就可以注意到是否出了问题。除此之外,它可以在 4 小时内运行一次,只是为了确保配置处于良好状态。

答案1

很有可能,但不是内置的。一种选择是将您的食谱放在源代码控制中,然后使用 CI 工具(如 Jenkins)knife ssh在食谱更新时触发 chef-client 运行。

或者,您可以在更新食谱后手动在所有机器上knife ssh运行。chef-client

Chef 服务器没有内置推送功能。

答案2

安装配方审计工具,例如https://github.com/jbz/knife-audit。作为上传食谱的脚本的一部分,查询 chef 服务器以查找使用该食谱的所有节点并在其上调用 chef-client。

相关内容