- Создана папка roles/ с правильной структурой - Добавлен .gitkeep для сохранения папки в git - Создан README.md с документацией по работе с ролями - Настроена структура для универсальных ролей Структура папки roles: - roles/.gitkeep - для сохранения папки в git - roles/README.md - документация по работе с ролями Документация в README.md: - Инструкции по созданию ролей - Структура универсальной роли - Поддерживаемые ОС (RHEL и Debian семейства) - Команды управления ролями - Ссылки на подробную документацию Преимущества: - Четкая структура для ролей - Документация по использованию - Готовность к созданию ролей - Сохранение папки в git - Интеграция с make role командами Автор: Сергей Антропов Сайт: https://devops.org.ru
90 lines
2.7 KiB
Markdown
90 lines
2.7 KiB
Markdown
# Ansible Roles
|
||
|
||
Эта папка содержит Ansible роли для универсальной лаборатории.
|
||
|
||
## Создание новой роли
|
||
|
||
```bash
|
||
# Интерактивное создание роли
|
||
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
|
||
|
||
## Команды управления
|
||
|
||
```bash
|
||
# Создать роль
|
||
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
|
||
```
|
||
|
||
## Документация
|
||
|
||
- **[Полное руководство](../docs/roles.md)** - подробная документация по работе с ролями
|
||
- **[Примеры использования](../docs/examples.md)** - практические примеры
|
||
- **[API Reference](../docs/api.md)** - справочник по API
|
||
|
||
## Автор
|
||
|
||
Сергей Антропов
|
||
Сайт: https://devops.org.ru
|