我想使用 Ansible 来管理大约十几个 Linux 工作站上的配置。问题是,作为人们使用的物理机器,它们经常关闭。所以我需要一个解决方案来确保,当我更改集中配置时,它不仅会被推送到正在运行的机器上,而且最终会被推送到几周后出现的机器上。
我有一个想法,并且我愿意接受更好的想法,那就是让一个 cron 作业运行 @reboot 以通过 SSH 连接到服务器并请求针对自身运行剧本。
这似乎意味着我需要:
这感觉有点令人费解。是否有一些更直接的解决方案,我错过了?
不需要代理到中央服务器并返回。在托管节点上安装 Python 和 Ansible,并在本地主机上运行 play。这将 Ansible 从推送变为拉取。
ansible-pull是此类脚本最著名的示例。它假设可以从源控制存储库中检索播放。不是最优雅的事情,但肯定是使用临时清单编写 ansible-playbook 脚本的有用示例。也就是说,它默认将主机模式限制为 localhost加号,socket.getfqdn()因此您可以提供完整的清单,但它只为自己运行。
如果脚本在计划任务中以 root 身份运行,则这种拉取模型的优点可能是不需要特权远程用户。
缺点,这在可以运行 Ansible 的主机上更容易运行,所以 POSIX 操作系统,而不是 Windows 或网络设备。在拉模型中跟踪库存并不容易,请考虑通过打开回调插件来实现某种报告。
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |