要使用Ansible检测受控主机和另一个主机的端口是否可以通信,可以使用Ansible的 “wait_for” 模块。
该模块可以检测主机上的某个端口是否处于可用状态,如果该端口不可用,它将一直等待直到达到指定的超时时间。
以下是使用“wait_for”模块检测受控主机和某个主机的端口是否可以连接的示例:
- name: Check if port is open
hosts: your_host
tasks:
- name: Wait for port to become open
wait_for:
host: example.com # 需要测试连接的主机和端口
port: 22 # 需要测试连接的端口
timeout: 10 # 指定等待超时时间:单位“s”秒
参数解释:
- “your_host” 是你要检测的目标主机或主机群组,参考本地 “/etc/ansible/hosts” 文件。
- “wait_for” 模块将检测是否可以连接到 “example.com” 的 “22” 端口,你可以根据需要更改主机和端口。
- “timeout” 选项用来指定等待超时秒数。例如,以上示例将等待10秒钟,如果无法连接到主机的22端口,则抛出错误。
执行查看结果:
ansible-playbook check-port-open.yaml
以上是一个基本的示例,你可以根据需要扩展它,并与其他Ansible模块结合使用以进行更复杂的任务。