Most sites say a module is pushed and Ansible does not need an agent on the remote host - just SSH and Python.
Está correto.
scp
ou WinRM também podem ser usados, bem como algumas outras conexão tipos .
It seems like Ansible would need to create a python script locally and copy it to the remote host. What is sent? Is it literally a .py file or a .pyc file - or other?
Ele cria um script localmente e o copia para o host remoto. .py
ou um conjunto desses.
Você pode ver por si mesmo - executar Ansible com ANSIBLE_KEEP_REMOTE_FILES
definido como 1
:
ANSIBLE_KEEP_REMOTE_FILES=1 ansible-playbook playbook.yml
e verifique o diretório temporário na máquina de destino (por padrão, em $HOME/.ansible/tmp/
para o usuário que está se conectando).
Se os arquivos foram compactados, há instruções nos comentários dentro do arquivo sobre como expandir o conjunto.
How is it possible the remote host will not need any additional Python packages?
Esta afirmação está incorreta.
Existem muitos módulos que requerem pacotes Python adicionais, por exemplo, expect
module :
The below requirements are needed on the host that executes this module.
- python >= 2.6
- pexpect >= 3.3
ou mesmo executáveis, por exemplo, unarchive
module :
Requires
gtar
/unzip
command on target host.