Как установить параметры / переменные глобально для всех хостов в пьесе Ansible?
На данный момент у меня есть playbook выглядит
- hosts: hws
gather_facts: no
vars_files:
- variables.yml
roles:
- role: hypervisor
- hosts: vms
gather_facts: no
vars_files:
- variables.yml
roles:
- role: web-server
и это выглядит некрасиво. Как установить
gather_facts: no
vars_files:
- variables.yml
глобально для каждого хоста во всем файле?
1 ответ
Решение
Вы можете использовать разборчивый макет каталога для группировки переменных на основе групп узлов или хостов.
ansible.cfg
hosts
group_vars/
hws.yml #variables for hws hosts
vms.yml #variables for vms hosts
all #here you can put variables commont to both hws + vms
roles/
hypervisor
web-server
playbook.yml
Таким образом, вам не нужно включать переменный файл в вашу книгу.
Вы также можете прочитать здесь дополнительную информацию о структуре каталога ANSIBLE: http://docs.ansible.com/ansible/playbooks_best_practices.html
А вот насчет приоритета переменной: http://docs.ansible.com/ansible/playbooks_variables.html
Удачи!