我编写了一个 ansible 集合 -
mtime
,用于从用户(即 NTP 服务器或 NTP 池)获取输入,使用变量:mtime_ntp_servers
,这是一个列表。
在使用用户提供的 NTP 服务器或池之前,我想检查这些 NTP 服务器或池的可达性。
所以我需要一个任务来做到这一点。
PS:我不想使用 ping,因为它无助于区分用户给出的服务器是普通服务器还是 NTP 服务器。
我需要 RHEL 7、8、9。所以
ntpdate
和 ntpq
不起作用。
我查了很多医生但找不到方法。
如何使用 Ansible 检查服务器或服务的可达性?
wait_for
模块 – 在继续之前等待条件
- name: Test connectivity from Control Node
delegate_to: controlnode.example.com
wait_for:
host: "{{ ntp_server }}"
port: 123
state: drained
delay: 0
timeout: 3 # seconds
active_connection_states: SYN_RECV
或
- name: Test connectivity from Remote Node
wait_for:
host: "{{ item }}"
port: 123
state: drained
delay: 0
timeout: 3 # seconds
active_connection_states: SYN_RECV
loop: "{{ mtime_ntp_servers }}"
类似问答