【发布时间】:2019-08-10 05:03:26
【问题描述】:
我想要的是由 Minion 调用的类似 RPC 的行为放入某种脚本中,然后可以由任何(非 Salt、非 Python)应用程序和服务调用:
- 在 Master 上触发事件(负载对应于命令行参数)
- Reactor 系统接管、处理事件并(取决于事件的发送者和有效负载)发送响应事件。
- 响应事件可能包含敏感负载,并且可能不会被任何其他 minion 看到(或至少解密)
- Minion 收到响应事件
我知道我可以使用 salt-call 和 salt.modules.event.fire_master 模块将事件发送到主服务器。
那么我该如何等待响应事件呢?
我如何确保其他 Minions 在事件总线上看不到响应事件(afaik 所有从 Master 发送的事件都是公开的,并且过滤发生在 Minion 端)?我想到了gpg 渲染器,但这可能太复杂了——需要有一种方法,因为 Master 需要将敏感的 Pillar 数据发送给具有类似要求的 Minions。
【问题讨论】:
-
reactor 可以捕获事件并做任何你想做的事情,例如应用状态、运行模块等。
标签: salt-stack