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
所有这些都发生在特定于虚拟环境的 ansible 中,主机和服务器都是 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-playbook
,您可以使用 hosts
指令在剧本中指定目标主机。
我正在尝试使用带有动态清单脚本的 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
所有这些都发生在特定于虚拟环境的 ansible 中,主机和服务器都是 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-playbook
,您可以使用 hosts
指令在剧本中指定目标主机。