В ансибле я создал около 30 ролей. Нужно ли мне вручную преобразовывать их в отдельные книги, чтобы использовать их в Ansible 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 для автоматической загрузки ролей. Просто создайте файл requirements.yml в своих проектах playbook.
http://docs.ansible.com/ansible-tower/2.4.1/html/userguide/projects.html#ansible-galaxy-support