Могу ли я использовать свои роли из Ansible в Ansible Tower?
Я создал около 30 ролей в ANSIBLE. Нужно ли вручную конвертировать их в одиночные книги для использования в Ansible Tower?
3 ответа
Да, вы можете использовать роли в Tower. Мы делаем что-то вроде следующего: группируем связанные роли в playbook (в этом примере playbook.yml), затем вызываем его из задания Tower.
playbook.yml
---
- name: Example playbook
hosts: '{{ target }}'
roles:
- { role: init }
- { role: deploy }
- { role: cleanup }
Дерево каталогов
roles/
init/
...
tasks/
main.yml
...
deploy/
...
tasks/
main.yml
...
cleanup/
...
tasks/
main.yml
...
Тогда с работы в башне вы можете либо поставить {{ target }}
или используйте опрос, чтобы подсказать пользователю.
Вы можете переместить все роли в папку ролей и вызывать их из yml-файла, чтобы их можно было выполнить из ANSIBLE Tower.
Ниже приведен пример файла, который работал для меня.
---
- name: Give your name
roles:
- { role: role1 }
- { role: role2 }
Примечание. Создайте папку с именами ролей, в которой вы создаете этот файл yml, и переместите все роли в эту папку. См. Расположение каталога в Ansible документах для получения дополнительной информации.
Вы можете использовать tower + galaxy для автоматической загрузки ролей. Просто создайте файл require.yml в своих проектах playbook.
http://docs.ansible.com/ansible-tower/2.4.1/html/userguide/projects.html