使用 Ansible 如何在 SSH 服务重新启动时等待或恢复?我有一个 ansible playbook,它对 SSH 配置进行了一些更改,但是当 ssh 重新启动时,Ansible 当然会丢失 SSH 连接。我正在使用内置的 ansible 模块来重新启动服务。
我可以触发重新启动并等待,但是当我只需要 ansible 等待服务完成重新启动时,这似乎太过了,有人有办法解决这个问题吗?
使用 Ansible 如何在 SSH 服务重新启动时等待或恢复?我有一个 ansible playbook,它对 SSH 配置进行了一些更改,但是当 ssh 重新启动时,Ansible 当然会丢失 SSH 连接。我正在使用内置的 ansible 模块来重新启动服务。
我可以触发重新启动并等待,但是当我只需要 ansible 等待服务完成重新启动时,这似乎太过了,有人有办法解决这个问题吗?
只需在 ssh 服务重启任务后添加 wait_for 模块的新任务即可。这是Ansible 官方文档的参考。
在默认的 Ansible 示例中,延迟为 10 秒,但我还在示例(如下)中将超时添加到 300 秒,因此它将每 10 秒重试一次,如果无法连接到端口 22,它将在 300 秒后失败您的库存主机。请根据您的需要随意修改它。
这是您的任务的示例游戏。在为您提供解决方案之前我已经对此进行了测试。它由三个任务组成。第一个是重新启动 ssh 守护进程。第二个任务将等待 300 秒,每 10 秒重试一次。如果连接成功,它将继续执行下一个任务,我已经使用 ping 模块对其进行了测试。