当启用管道功能时,Ansible 可以更快地运行。但是,要使其正常工作,有一些要求。必须在 ansible.cfg 或清单文件中启用管道,同时禁用 requiretty。
我已经使用-vvvv 进行了检查,没有显示出关于“管道”的信息。此外,我没有注意到任何速度上的差异。
因为这一切,我想知道:有没有一种方法可以验证 Ansible 是否正在使用管道功能?
当启用管道功能时,Ansible 可以更快地运行。但是,要使其正常工作,有一些要求。必须在 ansible.cfg 或清单文件中启用管道,同时禁用 requiretty。
我已经使用-vvvv 进行了检查,没有显示出关于“管道”的信息。此外,我没有注意到任何速度上的差异。
因为这一切,我想知道:有没有一种方法可以验证 Ansible 是否正在使用管道功能?
要检查是否使用了流水线处理,请运行命令:ansible test-server -vvv -m shell -a 'echo ok'
。
如果您只看到一个 SSH: EXEC ssh
记录,并且类似于 /bin/sh -c '/usr/bin/python && sleep 0'
这样的内容,则表示在使用流水线处理。
如果您看到三至五个SSH: EXEC ssh
/SSH: EXEC sftp
/PUT
记录,从临时路径执行command.py
,则表示未激活流水线模式。
copy
仍然非常缓慢。复制单个文件时,输出中会看到 x10 个 "SSH: EXEC",启用流水线传输后则为 x8 个。其中一两个是预热内容,但如果您要复制目录,则大多数都是为 每个 文件执行的!您可以使用同步功能,但copy
不应该如此缓慢。 - spinkus