salt-stack:触发器,调用状态更改
salt-stack: Trigger, called on state change
我有一个在 minion 上创建用户的状态。
这很好用。
用户在第一个 运行 时创建,接下来的 N 天(或年)将不再创建。
我想在创建用户后在不同的主机上执行一些操作。出于性能原因,我只想在第一个 运行 创建用户时执行此操作一次。
到目前为止,我搜索了某种触发器,如果状态发生变化,它就会被触发。欢迎其他解决方案。
用例
在 minion 上创建用户后,我需要将 minions ssh 主机密钥插入到一个 .ssh/known_hosts 文件中,以使无密码登录工作。
为了解决用例而不是问题,我建议如下:
- 使用盐矿收集你的爪牙的 public 钥匙
- 将 minions 的 ssh 主机密钥放入
/etc/ssh/ssh_known_hosts
您可以使用 openssh formula 作为起点。它包含 Salt Mine 的脚本以及如何创建 ssh_known_hosts 文件。它为 dig
添加了很多魔法来发现可能对您的环境来说过大的主机名和 IP 地址。
设置完成后,它应该会按如下方式工作:
- 添加用户:主机的
ssh_known_hosts
文件将被使用,无需执行任何其他操作
- 添加一个 minion:更新矿井,运行 对所有 minions 的配置以更新主机的
ssh_known_hosts
文件。
我有一个在 minion 上创建用户的状态。
这很好用。
用户在第一个 运行 时创建,接下来的 N 天(或年)将不再创建。
我想在创建用户后在不同的主机上执行一些操作。出于性能原因,我只想在第一个 运行 创建用户时执行此操作一次。
到目前为止,我搜索了某种触发器,如果状态发生变化,它就会被触发。欢迎其他解决方案。
用例
在 minion 上创建用户后,我需要将 minions ssh 主机密钥插入到一个 .ssh/known_hosts 文件中,以使无密码登录工作。
为了解决用例而不是问题,我建议如下:
- 使用盐矿收集你的爪牙的 public 钥匙
- 将 minions 的 ssh 主机密钥放入
/etc/ssh/ssh_known_hosts
您可以使用 openssh formula 作为起点。它包含 Salt Mine 的脚本以及如何创建 ssh_known_hosts 文件。它为 dig
添加了很多魔法来发现可能对您的环境来说过大的主机名和 IP 地址。
设置完成后,它应该会按如下方式工作:
- 添加用户:主机的
ssh_known_hosts
文件将被使用,无需执行任何其他操作 - 添加一个 minion:更新矿井,运行 对所有 minions 的配置以更新主机的
ssh_known_hosts
文件。