Согласно документам Ansible, Playbook :
... основа для действительно простого управления конфигурацией и системы развертывания на нескольких машинах, в отличие от уже существующих, и очень хорошо подходящей для развертывания сложных приложений.
И, опять же, согласно тем же документам, Роли :
... способы автоматической загрузки определенных файлов vars_files, задач и обработчиков на основе известной файловой структуры. Группирование контента по ролям также позволяет легко делиться ролями с другими пользователями.
Однако различие между ними и их разными вариантами использования для меня не сразу очевидно. Например, если я настрою свой /etc/ansible/hosts
файл так, чтобы он выглядел так:
[databases]
mydb01.example.org
mydb02.example.org
[mail_servers]
mymail01.example.org
mymail_dr.example.org
... тогда что это за " [databases]
" запись ... роль ? Или где-нибудь имя YAML-файла playbook? Или что-то другое?!?
Если бы кто-нибудь мог объяснить мне различия в них, мое понимание Ansible значительно улучшилось!
- Playbook vs Role vs
[databases]
и подобные записи в/etc/ansible/hosts
- Если Playbook определены внутри файлов YAML, то где же определяются роли?
- Помимо
ansible.cfg
живого на сервере Ansible, как мне добавить / настроить Ansible с доступными Playbooks / ролями? Например, когда я бегуansible-playbook someplaybook.yaml
, как Ansible узнает, где найти эту книгу?