2014-12-04 67 views
2

我可以运行Ansible来像守护进程一样管理我的主机吗?例如,我有时会更改我的剧本,但我不想手动运行“ansible-playbook main.yml”。请不要提出crontab。有一个特定的问题,我不能在生产服务器上使用crontab。在守护进程模式下无法运行Ansible

谢谢

+1

塔的设计考虑到了回调。否则,你可能可以使用git钩子或'supervisord'和脚本来安装某些东西,但是最终,你试图在Ansible的标准运行包围之外做一些事情。 – tedder42 2014-12-04 15:05:43

+0

谢谢你的回答。我想,我可以像Chef一样使用Ansible(服务器守护进程模式),当它始终运行并始终解析剧本。那是错的吗? – Jade 2014-12-04 15:50:53

+0

是的,@jade,这是错误的。塔可以做回调和预定的任务,但一般来说它不是厨师的模型。 – tedder42 2014-12-05 00:25:51

回答

3

什么你在这里说的是所谓的拉模式。体系结构Ansible被设计为在推动模式下工作 - 您从控制机器将更改推送到服务器。

如果你真的想使拉模式Ansible工作,那么你可以用Ansible拉脚本做,请参阅文档在这里:http://docs.ansible.com/playbooks_intro.html#ansible-pull

Ansible拉是一个脚本,可以从远程读取您的配置剧本存储库并在localhost上运行它们。 Ansible-pull不会解决检查新配置更改的问题 - 您需要使用cron自己解决它。

另一种选择是使用Ansible Tower(您需要一个付费许可证)。 Ansible Tower支持通过API回调,因此您要配置的服务器必须对Ansible Tower服务器执行API请求,塔会依次检查发送API请求的主机是否在其库存中。如果它在库存中,Tower将开始配置它。

相关问题