如何将 Ansible 模板上传到与运行服务器不同的服务器?



我有一个针对 X 个服务器运行的 Ansible 角色,我想要实现的是将模板上传到不同的服务器。

我想将所有任务中的所有"报告"都放在一个模板文件中,但我希望该模板文件托管在与运行模板文件的服务器不同的服务器上。 这可能吗,如何?

举个例子: 针对服务器 1.1.1.1 运行,将事实等收集到模板文件中,现在我希望将该模板文件上传到完全不同的服务器,但包括 1.1.1.1 服务器的输出。 如何实现这一点?

一种选择是在 1.1.1.1 服务器上运行第一个任务,然后在创建模板文件后,使用 fetch 模块将此文件下载到 ansible 服务器,然后将其复制到其他服务器。 下面的代码(未测试(

---
- hosts: 1.1.1.1
tasks:
- name: cat file
command: cat /some/file
register: output
- name: write to file
lineinfile:
dest: "/tmp/test.file"
line: "{{output.stdout}}"
create: yes
state: present
- name: Download file
fetch:
src: "/tmp/test.file"
dest: "/ansible/files/"
flat: yes
- hosts: 2.2.2.2
tasks:
- name: copy file
copy:
src: /ansible/files/test.file
dest: /tmp/location/

相关内容

  • 没有找到相关文章

最新更新