如何通过saltstack中的.sls文件在另一个minion上运行终端命令来定位Load Balancer?

时间:2016-03-25 21:37:40

标签: haproxy salt-stack

我有一个6个webserver一个负载均衡器配置。我希望在更新网站内容时在负载均衡器上禁用Web服务器。我希望在所有的奴才中以滚动的方式完成这项工作。例如:维持Minion1,在LB上禁用minion1,一旦完成维护,再次启用minion1,而saltstack移动到minion2并重复该过程。我想使用像这样的回声“禁用服务器后端/服务器名称| socat stdio / etc / haproxy / haproxysock” 其中servername是正在维护的minion,但每次都必须在haproxy LB上运行此命令。在维护发生之前,禁用Web服务器,并在维护之后再次启用Web服务器。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

您可以使用像dahrens提到的反应堆系统来构建您的解决方案。

您可以查看使用此处找到的orchestrate runner:https://docs.saltstack.com/en/latest/topics/tutorials/states_pt5.html#orchestrate-runner

这将允许您像想要的那样精心编排滚动更新。

如果要从常规Salt状态执行此操作,可以使用cli上的batch选项一次更新一个服务器,并使用prereq从负载中删除当前服务器更新期间的平衡器。