在 minions 上线后对其应用状态

AKJ*_*J88 3 saltstack

想象一下,您想在一组 Minion 上应用一些状态,例如所有 ubuntu 客户端。到我们申请时,可能会显示一些 Minion 处于离线状态。

状态在消息总线中保留多长时间以推送到 Minion?你有什么策略来解决这个问题并在他们重新上线时改变他们的状态?有没有比 running 更好的方法来使 minion pull 状态salt-call state.highstate

小智 8

Salt 带有所谓的reactor system,它应该可以满足您的需求。

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

/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
Run Code Online (Sandbox Code Playgroud)

/srv/reactor/start.sls

highstate_run:
    local.state.apply:
        - tgt: {{ data['id'] }}  # data included event data, id is the minion id.
Run Code Online (Sandbox Code Playgroud)

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