Ansible Copy vs Synchronize

时间:2015-09-08 22:38:08

标签: ansible

使用Ansible Synchronize vs Copy模块有什么优缺点。据我所知,synchronize具有复制所具有的所有功能但可能更快,因此我正在考虑更改所有内容以使用同步。同步的唯一缺点是需要rsync,这在Linux环境中似乎无处不在。

4 个答案:

答案 0 :(得分:6)

差异与传统rsync vs scp非常相似。 Rsync具有更多功能并且通常更快,但设置起来有点棘手,并且有更多旋钮可以转动。

此外,https://docs.ansible.com/ansible/copy_module.html声明:

  

“复制”模块递归复制工具不会扩展到批量(>数百)文件。有关替代方法,请参阅synchronize模块,它是rsync的包装。

答案 1 :(得分:1)

对我们来说,有一个很大的不同之处在于:synchronize不会重复使用来自ansible的ssh会话。使用负载平衡器时,这使我们很头疼,无法找到根本原因:

  • ansible将开始到负载均衡器的ssh会话,并最终到达machine1
  • 所有任务将因此在machine1上正常工作
  • synchronize任务在后台使用rsync,这将启动一个新的ssh会话,并可能最终(随机)连接到machine2
  • 当其他任务依赖于synchronize中存在的文件时,它们将失败,因为这些文件存在于另一台计算机上。

答案 2 :(得分:0)

使用ansible 2.4.2.0,这完美无瑕。我可能不应该使用CentOS回购中的ansible。离曲线太远,没有进攻CentOS。

-h

答案 3 :(得分:0)

截至最新的Ansible(v2.8),synchronize仍为in “preview” status

  

不保证此模块具有向后兼容的接口。 [预览]

当我不需要copy的性能和功能时,我会使用synchronize