Ansible

Ansible:在組之間共享變數

  • December 17, 2019

我的部分庫存看起來像這樣

prod
 group_vars
   all
   rabbit_master
   rabbit_slave
   web_children
   web_master
staging
 group_vars
   all
   rabbit_master
   rabbit_slave
   web_children
   web_master 

我的問題在於我的產品庫存,例如,web_master 和 web_children 具有幾乎相同的變數。

web_children/vars.yml

web_master_host: 10.1.1.1
environment: test
key: 123

web_master/vars.yml

environment: test
key: 123

有沒有辦法讓 web_children 從 web_master 繼承所有變數以節省重複?

您可以創建一個包含公共變數的超級組。

  • 將變數放在一個文件中,例如名為web_hosts
  • 在您的hosts文件中定義組web_masterweb_children是組的孩子web_hosts
[web_master]
…

[web_children]
…

[web_hosts:children]
web_master
web_children

有關詳細資訊,請參閱:https ://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#inheriting-variable-values-group-variables-for-groups-of-groups

引用自:https://unix.stackexchange.com/questions/557563