Ansible - создание нескольких файлов конфигурации с использованием одного и того же шаблона в роли
Я нашел похожий вопрос: создание несколько раз одной и той же роли, но с разными элементами, но я не знаю, как использовать ее со структурой каталогов group_vars.
Мой вопрос
Как я могу использовать роль с шаблоном внутри, чтобы создать несколько файлов конфигурации с разными именами и значениями? Я также использую каталог group_vars, который существует на том же уровне, что и книга воспроизведения, которую я запускаю с хостами, на которых он работает.
Вот мой текущий образец книги
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
- php5.6-install
Как можно, чтобы каждый "элемент" в роли использовал разные значения переменных. Например, переменная "name" может иметь ["test 1", "test 2", "test 3"], когда она повторяется? Могу ли я сохранить эти значения в файле?
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
with_items:
- test1
- test2
- test3
- php5.6-install
1 ответ
Посмотрите на include_role
модуль с vars_from
параметр:
tasks:
- include_role:
role: nginx-install
vars_from: "{{ item }}"
with_items:
- vars_file1
- vars_file2
И не использовать group_vars
каталог для хранения произвольных файлов vars, предназначен для хранения файлов vars для групп хостов.