Chef:在不同节点上重启服务

时间:2017-03-22 16:01:33

标签: triggers chef restart master slave

我遇到了一个问题,我无法找到解决方案......

想象一下1个主设备和3个从设备的拓扑结构。

每次更改主节点上的配置文件时,我都需要在所有节点上重新启动服务。 (我知道这很愚蠢,但我没有写应用程序......)

有没有办法在其他3个节点上触发服务重启?

//为了清晰起见而编辑

我的意思是,从相同的食谱/食谱中触发服务重启,而不在其他节点上运行Chef ...

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您不想运行chef-client进行服务重启。那么,恕我直言有两种选择,

  1. 远程ssh命令执行。 - 执行远程ssh并通过执行资源启动重启命令。

    ssh -i < key> < user>@< IP> "< Restart command>"
    
  2. 厨师推送作业 - 直接在从属节点上使用POST API在其他节点上安装厨师推送作业客户端和触发命令作为作业。您可以从master上运行的cookbook中调用push job rest API。因此,只要主服务器上重新启动,您就可以使用notify触发对Push Server的休息调用以启动作业(即重启命令)。

    请参阅:https://docs.chef.io/push_jobs.html