Ansible: グループ間変数の共有

Ansible: グループ間変数の共有

私の在庫の一部は次のとおりです。

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のすべての変数を継承して重複を防ぐ方法はありますか?

ベストアンサー1

共通変数を含むスーパーグループを作成できます。

  • たとえば、次のファイルに変数を入れます。web_hosts
  • hostsファイルでグループを定義web_masterし、web_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

おすすめ記事