Могу ли я использовать свои роли из 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

Другие вопросы по тегам