簡體   English   中英

Ansible AWX - 在一個 AWX 模板中使用一本劇本部署具有不同憑據的多個主機

[英]Ansible AWX - Deploy multiple hosts with different credentials with one playbook in one AWX template

環境是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
```

對於這種類型的場景,我為每個主機創建了單獨的劇本,為每個劇本創建了一個模板,然后使用工作流模板依次運行兩個劇本。

我想要一個更好的解決方案,即允許您描述的多個憑據。

您可以考慮使用清單變量為您的主機設置憑據(通過主機變量或組變量)。

  1. 使用 Ansible Vault 加密您的密碼 ( https://docs.ansible.com/ansible/latest/user_guide/vault.html#choosing-between-a-single-password-and-multiple-passwords )
  2. 在您的清單中設置 ansible_user 和 ansible_password 主機變量(注意 ansible_password 是使用 ansible-vault 加密的值)
  3. 在 AWX 中創建一個 Vault 憑證,它將存儲用於加密您的密碼的密鑰
  4. 將保險庫憑證添加到 AWX 中的劇本模板。 這將確保在運行劇本時密碼被解密。

您可以使用清單變量來處理服務器的多個域憑據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM