【发布时间】:2021-10-14 19:35:04
【问题描述】:
我有几台服务器上部署了应用程序,我想将应用程序版本存储为支柱。可以解析服务器上的文件以提取此信息,并且在升级应用程序时它会偶尔更改。我原以为这可能会奏效:
version: {{ salt['cmd.run']('cat myfile | grep version') }}
但它似乎是从主服务器运行 cmd.run。创建这种动态支柱数据的方法是什么?
【问题讨论】:
标签: salt-stack
我有几台服务器上部署了应用程序,我想将应用程序版本存储为支柱。可以解析服务器上的文件以提取此信息,并且在升级应用程序时它会偶尔更改。我原以为这可能会奏效:
version: {{ salt['cmd.run']('cat myfile | grep version') }}
但它似乎是从主服务器运行 cmd.run。创建这种动态支柱数据的方法是什么?
【问题讨论】:
标签: salt-stack
因此,支柱数据在主节点上呈现,因为支柱中如此复杂的动态事物可能会压倒主节点,如果它们有很多并且小兵总是在请求它们。所以做任何需要从小兵那里收集的东西都需要针对小兵。这将导致柱子减速并延长柱子的渲染时间。
支柱数据应该是秘密。使用诸如 map.jinja 之类的东西来处理您正在谈论的事情是一种更好的方法。这样它就被渲染到了minion上。如果其他服务器需要这些信息,则可以使用盐矿来查询其他小兵拥有的信息。
【讨论】: