【发布时间】:2021-03-29 15:10:54
【问题描述】:
我有一个 .sls 文件来在 minions 上安装 Prometheus,完成后,我想在 Salt Master 上执行 shell 命令,将刚刚配置的 minion 的主机名添加到 node_exporter.json 文件中,而不是手动编辑这个动态列表主机刮。我怎样才能做到这一点?我需要类似于 Ansible local_action 的函数。
【问题讨论】:
标签: salt-stack
我有一个 .sls 文件来在 minions 上安装 Prometheus,完成后,我想在 Salt Master 上执行 shell 命令,将刚刚配置的 minion 的主机名添加到 node_exporter.json 文件中,而不是手动编辑这个动态列表主机刮。我怎样才能做到这一点?我需要类似于 Ansible local_action 的函数。
【问题讨论】:
标签: salt-stack
您的问题没有“shell 命令”的任何详细信息或将 minion 详细信息更新到 node_exporter.json 文件的逻辑。所以我就直接来这部分:
我需要类似于 Ansible local_action 的函数。
在 Saltstack 中,没有来自 SLS 文件的定位机制。 salt 和 salt-call 命令是用于定位的命令(如 ansible ad-hoc 命令行)。
所以在 Salt master 上运行以下命令...
salt-call --local test.ping
... 类似于:
ansible localhost -m ping
因此,如果您有一个 SLS 文件或 shell 命令来更新 node_exporter.json 文件,您可以在 Salt Master 上使用 salt-call --local 运行它。例如:
salt-call --local cmd.run <your shell command>
【讨论】: