Инструменты пользователя

Инструменты сайта


linux:ansible:roles

Это старая версия документа!


Создание роли

Чтобы Ansible смог найти и использовать роли, нужна специально разработанная структура каталогов. Создадим каталог с именем roles:

📁 ansible-demo
 +---📁 inventory
 |    +---cluster
 +---📁 roles
 |    +---📁 deploy
 |         +---📁 tasks
 |              +--- main.yaml 
 |    +---📁 preconfig
 |         +---📁 meta
 |              +--- main.yaml 
 |         +---📁 tasks
 |              +--- main.yaml 
 \---all.yaml

В этом roles определим роли, которые можно использовать повторно в нескольких плейбуках и на разных серверах. Каждая роль, которую мы создадим, требует собственного каталога.

В зависимости от сложности выполняемых задач роли может использовать один или несколько каталогов. Что представляют собой каталоги:

  • 📁 defaults: позволяет устанавливать переменные по умолчанию для включенных или зависимых ролей.
  • 📁 files: содержит статические файлы и файлы сценариев, которые могут быть скопированы на удалённый сервер или выполнены на нём.
  • 📁 handlers: все обработчики, которые ранее были в вашем плейбуке, теперь могут быть добавлены в каталог.
  • 📁 meta: для метаданных роли, которые используются для управления зависимостями. Например, вы можете определить список ролей, которые должны быть применены до вызова текущей роли.
  • 📁 templates: для шаблонов, которые генерируют файлы на удалённых хостах.
  • 📁 tasks: содержит один или несколько файлов с задачами, которые определяются в разделе tasks обычного плейбука Ansible. Эти задачи могут напрямую ссылаться на файлы и шаблоны, содержащиеся в соответствующих каталогах внутри роли, без необходимости указывать полный путь к файлу.
  • 📁 vars: переменные для роли могут быть указаны в файлах внутри каталога, а затем ссылаться на них в другом месте роли.
linux/ansible/roles.1703350281.txt.gz · Последние изменения: 2023/12/23 19:51 — werwolf