繁体   English   中英

Ansible AWS动态清单连接不起作用

[英]Ansible AWS dynamic inventory connection not working

我正在尝试使用带有动态清单脚本的ansible在AWS上配置服务器。

我创建了一个ec2实例,该实例运行良好,可以手动ssh进入。 但是,当尝试访问该实例(仅用于ping或安装软件)时,我遇到了麻烦。

ansible -i ec2.py all -m ping

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

}

和为

ansible-playbook deploy_site.yml -i ec2.py all

ERROR! the playbook: all could not be found

我的所有文件都位于目录group_vars中

playbook
- deploy_site.yml
/group_vars
  -all

看起来像

ansible_user: ubuntu
ansible_ssh_private_key_file: ~/.ssh/key_pair.pem

我的key_pair.pem文件存在且mod = 600

所有这一切都发生在特定的虚拟环境中,并且主机和服务器均为ubuntu 16.04。

对连接问题的原因有何想法?

请分享输出ls /usr/bin/python* ,什么是你的ansible版本。

也尝试安装python并在group_vars上配置它:

apt-get install -y python-dev python3 python3-dev python3-setuptools

在您的文件中尝试执行以下操作:

ansible_user: ubuntu
ansible_ssh_private_key_file: ~/.ssh/key_pair.pem
ansible_python_interpreter=/usr/bin/python3

您也可以尝试:

ansible -i ec2.py all -m ping -e 'ansible_python_interpreter=/usr/bin/python3'

第一个问题:

 /bin/sh: 1: /usr/bin/python: not found\\r\\n" 

您必须在目标计算机以及控制计算机上都安装了Python。


第二个问题:

 ansible-playbook deploy_site.yml -i ec2.py all 

从命令中删除all

ansible-playbookansible-playbook使用hosts指令在ansible-playbook指定目标主机。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM