当目标计算机上不存在 Python 版本时,通过 Ansible 安装 Python



我正在尝试使用 ansible-playbook 将 Python 安装到虚拟机上(让我们将其称为"目标机器"(。目标机器根本没有安装Python版本(轻量级Unix版本(

据我了解,大多数 ansible 模块都要求目标机器上安装 Python。但是,原始模块不会。

我似乎甚至无法获得最基本的命令来处理原始模块,似乎 ansirble 仍在目标机器上寻找 Python。如果我手动 ssh 到目标机器并安装 Python,那么ansible-playbook开始工作。

错误信息:

fatal: [dev]: FAILED! => 
{"changed": false, "failed": true,
 "module_stderr": "Shared connection to 192.168.99.100 closed.rn",  
 "module_stdout": "/bin/sh: /usr/bin/python: not foundrn",
 "msg": "MODULE FAILURE", "rc": 0}

文件/host_vars/dev.yml

#NOTE: I can manually ssh in with the details without a problem
ansible_ssh_port: 22
ansible_user: docker
ansible_ssh_host: 192.168.99.100
ansible_ssh_private_key_file: ~/.docker/machine/machines/default/id_rsa

文件playbook.yml

- hosts: all
  tasks:
  - name: test the raw module
    raw: echo "Hello World"

文件hosts

dev

命令我运行:

ansible-playbook -i ./hosts ./playbook.yml

为什么原始命令要查找 Python?

如何在没有 Python 的目标机器的情况下使用 Ansible 运行命令?

它不是raw模块,而是试图运行 Python 的事实收集。

加:

gather_facts: no

最新更新