Ansible模板模块和复制模块有什么区别?

时间:2016-06-07 09:18:51

标签: ansible

Ansible模板模块和Ansible复制模块有什么区别?

2 个答案:

答案 0 :(得分:18)

虽然非常相似,但模板可以提供额外的功能。

  • copy从主机获取文件," as-is",
    并将其复制到远程目标。
  • template从主机获取文件(模板),根据Jinja2过滤更改变量,
    并将其复制到远程目标。

您可以使用模板将没有模板格式的文件从主机复制到远程目标。

模板复制的一个示例是,您需要根据来自主机(或其他位置)的参数导入自定义配置文件,例如从数据库实例获取主机/凭据属性的Web配置文件。请注意,使用copy / lineinfile可以实现同样的目的 - 这只是一种不同的方式。

答案 1 :(得分:-1)

几乎相似,唯一的区别是“ COPY ”模块(https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module)将在控制器节点上写入完全相同的数据,其中“ TEMPLATE “模块(https://docs.ansible.com/ansible/latest/modules/template_module.html)将首先检查剧本中是否存在任何变量,如果存在,它将首先将该变量转换为它的值,然后将数据写入控制器节点,我们“ TEMPLATE < / strong>”支持 jinja2 代码。