在 Miner 上线后应用状态

在 Miner 上线后应用状态

假设您想要将某些状态应用于一组 minion,例如所有 ubuntu 客户端。当我们应用这些状态时,可能有些 minion 处于离线状态。

状态在消息总线中保留多长时间才能推送到 Minion 上?您建议采取哪些策略来解决这个问题,并在 Minion 重新上线时更改它们的状态?有没有比运行更好的方法来使 Minion 拉取状态salt-call state.highstate

答案1

盐伴随着所谓的反应堆系统,应该可以满足您的需求。

以下内容未经测试,取自链接的文档。

/etc/salt/master.d/reactor.conf

reactor:
    - 'salt/minion/*/start':          # Match the start event
        - /srv/reactor/start.sls      # Things to do when a minion starts

/srv/reactor/start.sls

highstate_run:
    local.state.apply:
        - tgt: {{ data['id'] }}  # data included event data, id is the minion id.

这应确保每个minionstate.highstate在打开与 salt master 的连接后生效。

相关内容