Згідно з документами Ansible, Книга Play :
... основа для справді простого управління конфігурацією та багатомашинної системи розгортання, на відміну від уже існуючої, та такої, яка дуже добре підходить для розгортання складних додатків.
І, знову ж таки, згідно з тими самими документами, Ролі такі:
... способи автоматичного завантаження певних файлів vars_files, завдань та обробників на основі відомої структури файлів. Групування вмісту за ролями також дозволяє легко ділитися ролями з іншими користувачами.
Однак різниця між цими та різними випадками використання для мене не очевидна. Наприклад, якщо я налаштую свій /etc/ansible/hostsфайл так:
[databases]
mydb01.example.org
mydb02.example.org
[mail_servers]
mymail01.example.org
mymail_dr.example.org
... тоді що це за [databases]"запис" ... роль ? Або ім’я файлу YAML із плейбуком десь? Або щось інше?!?
Якби хтось міг пояснити мені різницю в цих питаннях, моє розуміння Ansible було б значно покращено!
- Playbook vs Role vs
[databases]та подібні записи в/etc/ansible/hosts - Якщо Playbook визначено всередині файлів YAML, то де визначені Ролі?
- Окрім
ansible.cfgживого на сервері Ansible, як мені додати / налаштувати Ansible за допомогою доступних Playbooks / Roles? Наприклад, коли я біжуansible-playbook someplaybook.yaml, як Ansible знає, де знайти цю книгу?
tasksробити речі. playbooksорганізовувати та запускати завдання. rolesорганізовувати групи завдань, обробників тощо, які виконують певну функцію. Деякі playbookпотрібні для запуску role(ив). Що б ви назвали колекцією rolesта playbooks? Скажімо, наприклад, такий, який керує конфігурацією всіх хостів на вашому сайті?