想知道 Ansible 如何在砖块级别工作。大多数站点都说一个模块是推送的,Ansible 不需要远程主机上的代理——只需要 SSH 和 Python。
Ansible 似乎需要在本地创建一个 python 脚本并将其复制到远程主机。发送什么?它实际上是一个.py
文件还是一个.pyc
文件 - 或其他?
远程主机怎么可能不需要任何额外的 Python 包?
大多数站点都说一个模块是推送的,Ansible 不需要远程主机上的代理——只需要 SSH 和 Python。
没错。
scp
或 WinRM 以及少数其他连接类型也可以使用。
Ansible 似乎需要在本地创建一个 python 脚本并将其复制到远程主机。发送什么?它实际上是 .py 文件还是 .pyc 文件 - 或其他?
它确实在本地创建了一个脚本并将其复制到远程主机。.py
或一组包装好的。
你可以亲眼看看——执行 Ansible 并ANSIBLE_KEEP_REMOTE_FILES
设置为1
:
ANSIBLE_KEEP_REMOTE_FILES=1 ansible-playbook playbook.yml
Run Code Online (Sandbox Code Playgroud)
并检查目标机器上的临时目录(默认在$HOME/.ansible/tmp/
连接用户的目录下)。
如果文件被打包,文件内的注释中有关于如何扩展集的说明。
远程主机怎么可能不需要任何额外的 Python 包?
这种说法是不正确的。
有许多模块需要额外的 Python 包,例如expect
module:
执行此模块的主机需要满足以下要求。
- 蟒蛇> = 2.6
- 期望 >= 3.3
甚至可执行文件,例如unarchive
module:
在目标主机上需要
gtar
/unzip
命令。
归档时间: |
|
查看次数: |
943 次 |
最近记录: |