在远程主机上运行 Ansible ping 失败

在远程主机上运行 Ansible ping 失败

我刚刚开始研究 Ansible 以及它如何改善我的工作。话虽如此,当我尝试使用 Ansible ( ansible all -m ping -vv) ping 主机时遇到了问题。Ansible 安装在主机 A 上,主机 B 在 /etc/ansible/hosts 上配置。两台主机都运行 Ubuntu 16.04.03 LTS,我可以从 A 到 B 进行 SSH 而无需密码。

Ansible ping 返回

172.28.25.81 | FAILED! => {
    "changed": false, 
    "failed": true, 
    "module_stderr": "Shared connection to 172.28.25.81 closed.\r\n", 
    "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", 
    "msg": "MODULE FAILURE", 
    "rc": 0
}

我的软件版本是:

  • Ansible 2.4.1.0
  • Python 2.7.12

答案1

自从你开始使用 Ansible 以来,我相信你读过ping模块适用于(这种情况下,只读取标题就足够了):

ping - 尝试连接主机,验证可用的 python,并在成功时返回 pong

Ansible 告诉你:

/bin/sh: 1: /usr/bin/python: 未找到

因此很可能无法“验证可用的 Python“。


原因是:Ubuntu 16.04 没有安装 Python 2,因此 Ansible 无法运行/usr/bin/python可执行文件。

你需要:

  • 在目标机器上安装 Python 2,或者
  • 指示 Ansible 使用 Python 3(它正在运行,但尚未得到官方支持)- 有一个ansible_python_interpreter设置。

相关内容