- Создана папка roles/ с правильной структурой - Добавлен .gitkeep для сохранения папки в git - Создан README.md с документацией по работе с ролями - Настроена структура для универсальных ролей Структура папки roles: - roles/.gitkeep - для сохранения папки в git - roles/README.md - документация по работе с ролями Документация в README.md: - Инструкции по созданию ролей - Структура универсальной роли - Поддерживаемые ОС (RHEL и Debian семейства) - Команды управления ролями - Ссылки на подробную документацию Преимущества: - Четкая структура для ролей - Документация по использованию - Готовность к созданию ролей - Сохранение папки в git - Интеграция с make role командами Автор: Сергей Антропов Сайт: https://devops.org.ru
2.7 KiB
2.7 KiB
Ansible Roles
Эта папка содержит Ansible роли для универсальной лаборатории.
Создание новой роли
# Интерактивное создание роли
make role create NAME=my-role
# Список ролей
make role list
# Управление playbooks роли
make role playbook NAME=my-role
Структура роли
roles/my-role/
├── tasks/
│ ├── main.yml # Основные задачи (универсальные)
│ ├── debian.yml # Задачи для Debian/Ubuntu
│ └── redhat.yml # Задачи для RHEL/CentOS
├── handlers/
│ └── main.yml # Обработчики
├── templates/ # Шаблоны Jinja2
├── files/ # Статические файлы
├── vars/
│ └── main.yml # Переменные роли
├── defaults/
│ └── main.yml # Переменные по умолчанию
├── meta/
│ └── main.yml # Метаданные роли
├── tests/ # Тесты роли
└── playbooks/ # Playbooks роли
└── deploy.yml
└── install.yml
Универсальные роли
Все роли создаются универсальными для RHEL и Debian семейств:
tasks/main.yml- содержит общую логику и включает OS-специфичные задачиtasks/debian.yml- задачи для Debian/Ubuntu (apt, systemd)tasks/redhat.yml- задачи для RHEL/CentOS (yum, systemd)
Поддерживаемые ОС
- Debian семейство: Ubuntu, Debian, Linux Mint
- RHEL семейство: CentOS, RHEL, Rocky Linux, AlmaLinux
Команды управления
# Создать роль
make role create NAME=nginx
# Редактировать роль
make role edit NAME=nginx
# Тестировать роль
make role test NAME=nginx
# Проверить синтаксис
make role lint
# Развернуть роли
make role deploy
# Информация о роли
make role info NAME=nginx
# Управление playbooks
make role playbook NAME=nginx
Документация
- Полное руководство - подробная документация по работе с ролями
- Примеры использования - практические примеры
- API Reference - справочник по API
Автор
Сергей Антропов
Сайт: https://devops.org.ru