amazon-ec2 - Ansible:与 xxx 的共享连接已关闭

标签 amazon-ec2 ansible virtual-machine

大家好,我制作了一个简单的剧本来练习 Ansible,但是当我尝试运行剧本(ansible-playbook -i hosts.ini playbook.yml)来配置实例 ec2 时遇到问题,输出返回:

> fatal: [XX.XXX.XXX.XXX]: FAILED! => {
>     "changed": false, 
>     "failed": true, 
>     "invocation": {
>         "module_name": "setup"
>     }, 
>     "module_stderr": "Shared connection to XXX.XXX.XXX.XXX closed.\r\n", 
>     "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", 
>     "msg": "MODULE FAILURE" }     to retry, use: --limit @/home/douglas/Ansible/ansible_praticing/projeto2.retry
> 
> PLAY RECAP
> *********************************************************************
> XX.XXX.XXX.XXX             : ok=0    changed=0    unreachable=0    failed=1

当我尝试通过 ssh -i ~/.ssh/key.pem ubuntu@public.ip 连接实例时它运行良好,但配置不行。

我的剧本:
- hosts: projeto
  sudo: True
  remote_user: ubuntu
  vars_files:
    - vars.yml

  tasks:
    - name: "Update"
      apt: update_cache=yes

    - name: "Install the Ansible"
      apt: name=ansible state=latest

    - name: "Installt the mysql"
      apt:
      args:
        name: mysql-server
        state: latest

    - name: "Install the Nginx"
      apt:
      args:
        name: nginx
        state: latest

我的 hosts.ini也可以(使用 aws ec2 实例的公共(public) ip),我将公钥(本地机器的 ~/.ssh/id_rsa.pem)放在 ~/.ssh/authorized_keys 中文件,在实例内部。

在上周(星期五),这本剧本运行良好。

我究竟做错了什么?

最佳答案

也许我的回答为时已晚,但我今天遇到了同样的问题。我的 EC2 上运行了一个 Ubuntu 16.04 实例。我认为,因为它有 Python 3 (Python 3.5) 作为其默认的 Python 安装。因此,ansible 无法找到所需的 Python 目录 (/usr/bin/python)。我通过将 ansible Python 解释器更改为 Python 3 解决了这个问题。

我添加了 ansible_python_interpreter=/usr/bin/python3到我的库存文件,不必更改剧本。

引用 - http://docs.ansible.com/ansible/latest/python_3_support.html

关于amazon-ec2 - Ansible:与 xxx 的共享连接已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40721859/

相关文章:

virtual-machine - 安装新版 Microsoft Edge 后访问 Microsoft Edge Legacy

mysql - 部署在 ec2 上的 Spring war 文件显示连接到 rds 的 hibernate 持久性失败

amazon-web-services - 将 EC2 AMI 从一个区域复制到 AWS 中的另一个区域

amazon-ec2 - 如何在 Ansible 的 50% 机器上发布代码

linux - Ansible:没有密码的sudo

java - 修复 : java. lang.UnsatisfiedLinkError : no attach in java. library.path

azure - 从规模集中的 VM 检索应用程序运行状况

mysql - 缓存 Mysql 数据库以获得更好的性能

amazon-web-services - 我无法使用 CloudFormation 中的用户数据将 S3 文件复制到 EC2 实例

xml - Ansible - XML 命名空间