Ansible 可复制与同步
使用Ansible Synchronize与Copy模块的优缺点是什么。据我所知,synchronize具有copy所具有的所有功能,但可能要快得多,因此我正在考虑将所有内容更改为使用synchronize。同步的唯一缺点是需要rsync,这在Linux环境中似乎非常普遍。这些区别与传统的rsyncvsAnsible 可复制与同步,ansible,Ansible,使用Ansible Synchronize与Copy模块的优缺点是什么。据我所知,synchronize具有copy所具有的所有功能,但可能要快得多,因此我正在考虑将所有内容更改为使用synchronize。同步的唯一缺点是需要rsync,这在Linux环境中似乎非常普遍。这些区别与传统的rsyncvsscp非常相似。Rsync有更多的特性,通常速度更快,但是它的设置有点复杂,并且有更多的旋钮要转动 此外,缔约国: “复制”模块递归复制功能不能扩展到大量(>数百)文件。有关替代方案,请参阅同步模
scp
非常相似。Rsync有更多的特性,通常速度更快,但是它的设置有点复杂,并且有更多的旋钮要转动
此外,缔约国:
“复制”模块递归复制功能不能扩展到大量(>数百)文件。有关替代方案,请参阅同步模块,它是rsync的包装器
使用ansible 2.4.2.0,这项功能可以完美地工作。我可能不应该使用CentOS回购协议中的ansible。太过落后于曲线,对CentOS没有冒犯
- hosts: all
become: true
tasks:
- name: copy icinga2 2.7.2
synchronize:
src: /home/ansible/playbooks/files/icinga2.7
dest: /home/ansible
owner: yes
截至最新版本Ansible(v2.8),同步
仍然是:
此模块不保证具有向后兼容的接口。[预览]
当我不需要
synchronize的性能和功能时,我会使用copy
,synchronize
不重用ansible的ssh
会话,这是一个很大的区别。在使用负载平衡器时,这让我们很头疼,无法找到根本原因:
ansible
将启动到负载平衡器的ssh会话,并将在machine1结束
- 因此,所有任务都将在机器1上工作
synchronize
任务在引擎盖下使用rsync
,它启动一个新的ssh
会话,并可能最终连接到machine2(随机)
- 当其他任务依赖于
同步
中的文件存在时,它们将失败,因为这些文件存在于另一台计算机上
谢谢您的解释。我还发现synchronize任务在极少数情况下会意外失败,并从那时起就避免使用它。这可能是根本原因。