盐师能否为不可用的仆从提供状态?

  • 本文关键字:状态 salt-stack
  • 更新时间 :
  • 英文 :


背景:我有几台服务器运行我开发的服务。它们都应具有相同的服务副本。

为了确保部署和最新性,我使用 Ansible,以及部署服务的幂等剧本。由于服务器位于不可靠的网络上,因此我必须定期运行剧本(在 cron 作业中)以访问以前可能不可用的服务器。

问题:我的印象是 SaltStack 的哲学是不同的:我虽然我可以"设置一个状态,编译它并提供给一组工作节点。然后,这些爪牙会在自己的闲暇时间来到主人那里,得到他们需要做的任何事情"。

情况似乎并非如此:部署时不可用的工作节点将被跳过。

问题:是否有一种机制允许异步部署,从某种意义上说,在主节点上设置一次的状态一旦准备就绪/可以到达主节点,就会被工作节点(对自己)拉取和应用?

具体来说,无需不断向所有工作节点重新提供相同的状态,希望过去不可用的仆从现在能够获得更新。

每次工作节点连接到主节点时,事件总线上都有一个事件,您可以对此做出反应。

反应器

这是Ansible和Saltstack之间的主要区别。

为了做你想做的事,我会对每个工作节点的重新连接做出反应,并尝试应用幂等状态。

幂等

您还可以在 Saltstack 中设置一个计划任务,该任务每 X 分钟运行一次状态并应用所需的配置。

计划任务

Daniel Wallace(盐开发者)的回答:

这是不可能的。

工作节点连接到发布端口/总线,主节点将新的 那辆公共汽车上的工作。然后工作节点拾取它并运行作业,如果 发布作业时工作节点未连接,则不会 查看工作。

最新更新