首页 > 解决方案 > Ansible AWX - 在一个 AWX 模板中使用一个剧本部署具有不同凭据的多个主机

问题描述

环境是3台主机。主机 A;B 和 C 主机 A 在 Docker 容器中使用 AWX 运行 Ansible。我的任务是,从主机 B 获取备份文件,并将它们传输到服务器 C。实际上,这是两个任务。主机 B 和 C 具有不同的凭据。我知道如何在一个剧本中收集这两个任务,但是如何将第二个凭据添加到 C 服务器以在 AWX 模板中建立复制任务?

剧本示例:

- hosts: B
  tasks:
  - name: Fetch backup data from remote host B to my_path
    fetch:
      src: /origin_path/backup_file.tar.gz
      dest: /my_path/backup_file.tar.gz

- hosts: C
  tasks:
  - name: Copy backup data from my_path to remote host C
    tasks:
      copy:
      src: /my_path/backup_file.tar.gz
      dest: /remote_path/backup_file.tar.gz
```

标签: ansible

解决方案


对于这种类型的场景,我为每个主机创建了单独的 playbook,为每个 playbook 创建了一个模板,然后使用工作流模板依次运行两个 playbook。

我想要一个更好的解决方案,即允许您描述的多个凭据。


推荐阅读