我对跨州文件传递支柱有一点困惑。
我正在使用 Orchestrator 来协调两个虚拟机(例如 vm1 和 vm2)上的运行状态。这些状态彼此之间没有依赖关系。
对于每个虚拟机,我传递一个具有相同键但不同值的支柱
我对 Salt 的了解有限,我知道由于状态没有任何依赖性,因此编排器可以并行执行它们。
如果确实如此,那么支柱价值会发生什么变化?
两个虚拟机是否都看到相同的支柱价值?
本质上,我的问题是当支柱传递到不同 minions 上的状态文件时,具有相同密钥的支柱是否会合并(并且最后一个获胜)或者支柱是否本地化到它们的目标
答案1
通过支柱传输的信息保证只呈现给目标奴才。
因此,如果你的/srv/pillar/top.sls
外观与此类似:
base:
'vm1':
- vm1_data
'vm2':
- vm2_data
还有支柱/srv/pillar/vm1_data.sls
:
info: some data for vm1
和/srv/pillar/vm2_data.sls
:
info: some data for vm2
那么 就没有可能vm1
获得 的柱子vm2
。除非 两个小兵 都瞄准同一个柱子!
查看 minions 支柱数据
更新你的 pillar 后,确保 minions 获得更新的数据:
salt '*' saltutil.refresh_pillar
现在 minions 已经有了 pillar 数据,可以进行检索了:
salt '*' pillar.items
查看支柱演练了解更多示例和使用信息。