ansible - 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
```
解决方案
对于这种类型的场景,我为每个主机创建了单独的 playbook,为每个 playbook 创建了一个模板,然后使用工作流模板依次运行两个 playbook。
我想要一个更好的解决方案,即允许您描述的多个凭据。
推荐阅读
- python - 并排绘制多个混淆矩阵
- sql-server - 如果有使用该用户运行的 SSIS 包,我从 Active Directory 重置 SQL Server 密码会发生什么
- javascript - JS - 满足条件时将对象从数组复制到新数组[编辑]
- firebase - Firestore,检查 valueChanges() 期间更改了哪些字段
- css - CSS:如何将一个 div 移到另一个上方?
- ios - 更新后无法打开 Realm Studio - Realm 文件当前在另一个进程中打开 - Mac 和 Realm Swift
- performance - 有效地循环子阵列
- c++ - libwebsockets:待处理的消息
- javascript - 如何使用 axios.delete() 请求发送 ID
- python - socket.io 回调中的 Flask 渲染模板