ansible如何在远程主机上执行?

how does ansible executes on a remote host?

我试图弄清楚 ansible 如何在远程 host 上执行命令,我知道它使用 ssh/winrm 连接到远程 host 但是从在那里它必须假设远程 host 有 python/powershell(取决于 os)和他们的代码需要 运行.

的所有库

所以基本上我问的是:

  1. ansible 是否需要远程 host 在正确的版本中安装 python。

  2. 是否需要远程 host 才能拥有其代码使用的库。

  3. 如果没有,它会在连接时传输模块并在之后移除它们。
  4. 否则它可能 "compile" 模块并传输它们

Ansible 的工作原理是连接到您的节点并向它们推送名为 "Ansible modules" 的小程序。这些程序被编写为系统所需状态的资源模型。然后 Ansible 执行这些模块(默认通过 SSH),并在完成后删除它们。