我如何通过saltstack中的.sls文件在另一个仆从上运行终端命令来瞄准负载均衡器



我有一个6 Web服务器一个负载均衡器的配置。我希望在更新网站内容时禁用负载平衡器上的Web服务器。我希望这件事能在所有小黄人身上滚动完成。例如:Minion1被维护,Minion1在LB上被禁用,一旦完成维护,Minione1将再次启用,而盐堆则移动到minion2,并重复该过程。我想使用类似这样的echo"禁用服务器后端/servername|socat stdio/etc/haproxy/haproxysock"其中servername将是正在维护的minion,但每次都必须在haproxy LB上运行此命令。在进行维护之前禁用一次Web服务器,在维护之后再次启用Web服务器。任何帮助都将不胜感激。

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

您可以考虑使用此处的编排运行器:https://docs.saltstack.com/en/latest/topics/tutorials/states_pt5.html#orchestrate-转轮

这将允许您很好地编排滚动更新。

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

最新更新