feat: Добавлены пресеты для различных сценариев тестирования (1-20 машин)
- Создано 10 готовых пресетов для разных типов инфраструктуры - Минимальная лаборатория (1-3 машины) - базовое тестирование - Веб-приложение (3-5 машин) - классическая архитектура - Микросервисы (5-8 машин) - современная архитектура - Высокая доступность (6-10 машин) - отказоустойчивость - Kubernetes кластер (8-12 машин) - контейнерная оркестрация - CI/CD пайплайн (10-15 машин) - автоматизация разработки - Big Data кластер (12-18 машин) - обработка больших данных - Service Mesh (15-20 машин) - микросервисная архитектура - Enterprise (18-20 машин) - корпоративная инфраструктура - Максимальный (20 машин) - экстремальные условия Каждый пресет включает: - Подробное описание архитектуры - Различные группы хостов (webservers, databases, monitoring) - Смешанные семейства ОС (debian/rhel) - Настроенные порты и сервисы - Готовые команды для запуска Документация: - README с описанием всех пресетов - Примеры использования - Рекомендации по выбору - Troubleshooting Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
120
molecule/presets/README.md
Normal file
120
molecule/presets/README.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# Пресеты универсальной лаборатории
|
||||
|
||||
## Автор
|
||||
Сергей Антропов
|
||||
Сайт: https://devops.org.ru
|
||||
|
||||
## Описание
|
||||
|
||||
Этот каталог содержит готовые пресеты для различных сценариев тестирования Ansible ролей. Каждый пресет оптимизирован для определенного типа инфраструктуры и количества машин.
|
||||
|
||||
## Доступные пресеты
|
||||
|
||||
### 1. Минимальная лаборатория (1-3 машины)
|
||||
**Файл:** `minimal.yml`
|
||||
**Описание:** Базовая конфигурация для простых тестов Ansible ролей
|
||||
**Компоненты:** 1 контроллер, 1 веб-сервер, 1 база данных
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/minimal.yml`
|
||||
|
||||
### 2. Веб-приложение (3-5 машин)
|
||||
**Файл:** `webapp.yml`
|
||||
**Описание:** Классическая архитектура веб-приложения
|
||||
**Компоненты:** 2 веб-сервера, 1 БД, 1 кэш, 1 балансировщик
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/webapp.yml`
|
||||
|
||||
### 3. Микросервисы (5-8 машин)
|
||||
**Файл:** `microservices.yml`
|
||||
**Описание:** Архитектура микросервисов с разделением ответственности
|
||||
**Компоненты:** API Gateway, микросервисы, БД, кэш, очередь, мониторинг
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/microservices.yml`
|
||||
|
||||
### 4. Высокая доступность (6-10 машин)
|
||||
**Файл:** `ha.yml`
|
||||
**Описание:** Кластер высокой доступности с репликацией
|
||||
**Компоненты:** 2 веб-сервера, 2 БД, 2 кэша, балансировщик, мониторинг
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/ha.yml`
|
||||
|
||||
### 5. Kubernetes кластер (8-12 машин)
|
||||
**Файл:** `k8s-cluster.yml`
|
||||
**Описание:** Полноценный Kubernetes кластер с различными ролями
|
||||
**Компоненты:** 3 master, 3 worker, 3 etcd, ingress, мониторинг
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/k8s-cluster.yml`
|
||||
|
||||
### 6. CI/CD пайплайн (10-15 машин)
|
||||
**Файл:** `cicd.yml`
|
||||
**Описание:** Полноценный CI/CD пайплайн с различными инструментами
|
||||
**Компоненты:** Git, Jenkins, Nexus, Docker Registry, среды, мониторинг, ELK
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/cicd.yml`
|
||||
|
||||
### 7. Big Data кластер (12-18 машин)
|
||||
**Файл:** `bigdata.yml`
|
||||
**Описание:** Кластер для обработки больших данных
|
||||
**Компоненты:** Hadoop, Spark, Kafka, Zookeeper, Elasticsearch, Kibana
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/bigdata.yml`
|
||||
|
||||
### 8. Service Mesh (15-20 машин)
|
||||
**Файл:** `servicemesh.yml`
|
||||
**Описание:** Полноценный service mesh с Istio и множественными сервисами
|
||||
**Компоненты:** Istio, Frontend, Backend, БД, кэш, мониторинг, трассировка
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/servicemesh.yml`
|
||||
|
||||
### 9. Enterprise (18-20 машин)
|
||||
**Файл:** `enterprise.yml`
|
||||
**Описание:** Полноценная enterprise инфраструктура с высокой доступностью
|
||||
**Компоненты:** LB, Web, API Gateway, App, БД, кэш, очереди, поиск, мониторинг, логи, backup
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/enterprise.yml`
|
||||
|
||||
### 10. Максимальный (20 машин)
|
||||
**Файл:** `maximum.yml`
|
||||
**Описание:** Максимально сложная инфраструктура для экстремальных условий
|
||||
**Компоненты:** Все компоненты enterprise + трассировка + визуализация
|
||||
**Использование:** `make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/maximum.yml`
|
||||
|
||||
## Использование
|
||||
|
||||
### Быстрый старт
|
||||
```bash
|
||||
# Выбрать пресет
|
||||
export LAB_SPEC=molecule/presets/minimal.yml
|
||||
|
||||
# Запустить тестирование
|
||||
make lab-test
|
||||
```
|
||||
|
||||
### Создание собственного пресета
|
||||
1. Скопировать существующий пресет: `cp minimal.yml my-preset.yml`
|
||||
2. Отредактировать под ваши нужды
|
||||
3. Использовать: `make lab-test LAB_SPEC=molecule/presets/my-preset.yml`
|
||||
|
||||
### Переменные окружения
|
||||
```bash
|
||||
# Установить пресет по умолчанию
|
||||
export LAB_SPEC=molecule/presets/webapp.yml
|
||||
|
||||
# Или использовать в команде
|
||||
make lab-test LAB_SPEC=molecule/presets/ha.yml
|
||||
```
|
||||
|
||||
## Рекомендации
|
||||
|
||||
- **Для начинающих:** используйте `minimal.yml` или `webapp.yml`
|
||||
- **Для микросервисов:** `microservices.yml` или `servicemesh.yml`
|
||||
- **Для Kubernetes:** `k8s-cluster.yml`
|
||||
- **Для enterprise:** `enterprise.yml` или `maximum.yml`
|
||||
- **Для Big Data:** `bigdata.yml`
|
||||
|
||||
## Кастомизация
|
||||
|
||||
Каждый пресет можно настроить под ваши нужды:
|
||||
- Изменить количество машин
|
||||
- Добавить/убрать группы
|
||||
- Изменить семейства ОС (debian/rhel)
|
||||
- Настроить порты и переменные
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
Если пресет не работает:
|
||||
1. Проверьте доступность Docker образов
|
||||
2. Убедитесь в достаточности ресурсов
|
||||
3. Проверьте логи: `make lab-verify`
|
||||
4. Очистите лабораторию: `make lab-cleanup`
|
||||
Reference in New Issue
Block a user