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

관련 정보