Ansible 可复制与同步

Ansible 可复制与同步,ansible,Ansible,使用Ansible Synchronize与Copy模块的优缺点是什么。据我所知,synchronize具有copy所具有的所有功能,但可能要快得多,因此我正在考虑将所有内容更改为使用synchronize。同步的唯一缺点是需要rsync,这在Linux环境中似乎非常普遍。这些区别与传统的rsyncvsscp非常相似。Rsync有更多的特性,通常速度更快,但是它的设置有点复杂,并且有更多的旋钮要转动 此外,缔约国: “复制”模块递归复制功能不能扩展到大量(>数百)文件。有关替代方案,请参阅同步模

使用Ansible Synchronize与Copy模块的优缺点是什么。据我所知,synchronize具有copy所具有的所有功能,但可能要快得多,因此我正在考虑将所有内容更改为使用synchronize。同步的唯一缺点是需要rsync,这在Linux环境中似乎非常普遍。

这些区别与传统的rsyncvs
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任务在极少数情况下会意外失败,并从那时起就避免使用它。这可能是根本原因。