我正在实施 Cobbler 和 Ansible 来部署我们的服务器,最后遇到了一个问题。我的 Ansible 剧本运行良好,我的 Cobbler 安装运行良好,但问题在于如何将它们结合在一起。
我为 Cobbler 编写了一个安装后触发器,它会根据使用的 Cobbler 配置文件启动我的 Ansible 剧本,该脚本在单独运行时效果很好。问题是,要使其工作,服务器需要先重新启动,但 Cobbler 在第一次重新启动之前会执行安装后触发器。Cobbler 中有一个“firstboot”触发器,但我根本无法让它工作。即使在第一次启动后,它也永远不会触发。
如果我尝试在重启之前运行 Ansible,服务器就会超时。
这适用于 CentOS 6.5、Ansible 1.6 和 Cobbler 2.4
TLDR:如何让 Cobbler“firstboot”触发器工作,或者如何在安装之后但在第一次重启之前成功运行 Ansible Playbook。
有任何想法吗?
谢谢!
答案1
您是否可以编写一个包装脚本/etc/rc.local
(或类似脚本),在系统首次启动时运行 Ansible 剧本,然后自行删除?在rm $0
脚本末尾添加一个,还是/etc/rc.local
在完成后进行编辑?
答案2
我建议使用 cobbler 来运行非常基本的 ansible playbook,这样就不需要重启服务器和配置了Ansible 拉取模式
重启后,ansible 应该从其服务器中拉取另一个剧本并完成服务器配置。