Files
DevOpsLab/molecule/presets
Sergey Antropoff b1bae8af9f 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
2025-10-22 13:15:11 +03:00
..

Пресеты универсальной лаборатории

Автор

Сергей Антропов
Сайт: 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

Использование

Быстрый старт

# Выбрать пресет
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

Переменные окружения

# Установить пресет по умолчанию
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