Назад | Перейти на главную страницу

Могу ли я использовать свои роли из Ansible в Ansible Tower?

В ансибле я создал около 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