【问题标题】:Ansible: Ping from remote hostAnsible:从远程主机 Ping
【发布时间】:2016-05-30 12:31:05
【问题描述】:

我使用 Ansible 管理主机 A。我有主机 B(主机 B 在库存中不可用),我正在执行一些带有“delegate_to”的命令。主机 C 是我的 ansible 控制器。我正在尝试使用“delegate_to”从主机 B ping 一个 IP 地址。这个 ipaddress 在主机 D 上的某个地方(主机 D 在库存中不可用),但是我不知道如何使用 ping 模块来实现这一点。所以我正在使用命令模块。

- name: Ping net1
  command: 'ping -c 4 10.17.12.2'
  delegate_to: 10.17.10.85

如何以更好的方式实现相同的功能?

【问题讨论】:

    标签: ansible ansible-playbook


    【解决方案1】:

    Ansible“ping”实际上是在检查 ssh,据我所知,没有用于检查主机之间网络连接的 Ansible 模块(可能使用 wait_for?)所以这可能是最好的方法,虽然我会添加一个changed_when: false 以正确反映这个命令永远不会改变任何东西的事实:

    - name: Ping net1
      command: 'ping -c 4 10.17.12.2'
      delegate_to: 10.17.10.85
      changed_when: false
    

    【讨论】:

      【解决方案2】:

      wait_for 似乎是标准的做法。

      例如(假设端口 22 将打开)

      wait_for:
        host: 10.17.12.2
        port: 22
        delay: 5
        state: started
        timeout: 10
        delegate_to: 10.17.10.85
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-04
        • 2017-05-02
        • 2016-05-22
        • 1970-01-01
        • 2019-06-27
        相关资源
        最近更新 更多