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:
181
molecule/presets/maximum.yml
Normal file
181
molecule/presets/maximum.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
# ПРЕСЕТ: Максимальный (20 машин)
|
||||
#
|
||||
# Описание: Максимально сложная инфраструктура для тестирования в экстремальных условиях
|
||||
# - 2 Load Balancer (HAProxy) - балансировка
|
||||
# - 3 Web сервера (nginx) - веб-слой
|
||||
# - 2 API Gateway (Kong) - API управление
|
||||
# - 3 Application сервера - бизнес-логика
|
||||
# - 2 Database Master/Slave (PostgreSQL) - основная БД
|
||||
# - 2 Cache сервера (Redis) - кэширование
|
||||
# - 1 Message Queue (RabbitMQ) - очереди
|
||||
# - 1 Search Engine (Elasticsearch) - поиск
|
||||
# - 1 Monitoring (Prometheus) - метрики
|
||||
# - 1 Logging (ELK Stack) - логи
|
||||
# - 1 Tracing (Jaeger) - трассировка
|
||||
# - 1 Visualization (Grafana) - визуализация
|
||||
# - 1 Backup сервер - резервное копирование
|
||||
#
|
||||
# Использование: make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/maximum.yml
|
||||
#
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
docker_network: labnet
|
||||
|
||||
images:
|
||||
debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
|
||||
rhel: "quay.io/centos/centos:stream9-systemd"
|
||||
|
||||
systemd_defaults:
|
||||
privileged: true
|
||||
command: "/sbin/init"
|
||||
volumes:
|
||||
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
|
||||
tmpfs:
|
||||
- "/run"
|
||||
- "/run/lock"
|
||||
capabilities:
|
||||
- "SYS_ADMIN"
|
||||
|
||||
hosts:
|
||||
- name: lb1
|
||||
group: loadbalancers
|
||||
family: debian
|
||||
publish:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
|
||||
- name: lb2
|
||||
group: loadbalancers
|
||||
family: rhel
|
||||
publish:
|
||||
- "8080:80"
|
||||
- "8443:443"
|
||||
|
||||
- name: web1
|
||||
group: webservers
|
||||
family: rhel
|
||||
publish:
|
||||
- "8081:80"
|
||||
|
||||
- name: web2
|
||||
group: webservers
|
||||
family: debian
|
||||
publish:
|
||||
- "8082:80"
|
||||
|
||||
- name: web3
|
||||
group: webservers
|
||||
family: rhel
|
||||
publish:
|
||||
- "8083:80"
|
||||
|
||||
- name: api-gateway1
|
||||
group: gateways
|
||||
family: debian
|
||||
publish:
|
||||
- "8001:8000"
|
||||
|
||||
- name: api-gateway2
|
||||
group: gateways
|
||||
family: rhel
|
||||
publish:
|
||||
- "8002:8000"
|
||||
|
||||
- name: app1
|
||||
group: applications
|
||||
family: rhel
|
||||
publish:
|
||||
- "9001:9000"
|
||||
|
||||
- name: app2
|
||||
group: applications
|
||||
family: debian
|
||||
publish:
|
||||
- "9002:9000"
|
||||
|
||||
- name: app3
|
||||
group: applications
|
||||
family: rhel
|
||||
publish:
|
||||
- "9003:9000"
|
||||
|
||||
- name: db-master
|
||||
group: databases
|
||||
family: debian
|
||||
publish:
|
||||
- "5432:5432"
|
||||
|
||||
- name: db-slave
|
||||
group: databases
|
||||
family: rhel
|
||||
publish:
|
||||
- "5433:5432"
|
||||
|
||||
- name: cache1
|
||||
group: caches
|
||||
family: debian
|
||||
publish:
|
||||
- "6379:6379"
|
||||
|
||||
- name: cache2
|
||||
group: caches
|
||||
family: rhel
|
||||
publish:
|
||||
- "6380:6379"
|
||||
|
||||
- name: message-queue
|
||||
group: queues
|
||||
family: debian
|
||||
publish:
|
||||
- "5672:5672"
|
||||
- "15672:15672"
|
||||
|
||||
- name: elasticsearch
|
||||
group: search
|
||||
family: rhel
|
||||
publish:
|
||||
- "9200:9200"
|
||||
|
||||
- name: monitoring
|
||||
group: monitoring
|
||||
family: debian
|
||||
publish:
|
||||
- "9090:9090"
|
||||
|
||||
- name: elasticsearch-logs
|
||||
group: logging
|
||||
family: rhel
|
||||
publish:
|
||||
- "9201:9200"
|
||||
|
||||
- name: kibana
|
||||
group: logging
|
||||
family: debian
|
||||
publish:
|
||||
- "5601:5601"
|
||||
|
||||
- name: logstash
|
||||
group: logging
|
||||
family: rhel
|
||||
publish:
|
||||
- "5044:5044"
|
||||
|
||||
- name: tracing
|
||||
group: tracing
|
||||
family: debian
|
||||
publish:
|
||||
- "16686:16686"
|
||||
|
||||
- name: grafana
|
||||
group: visualization
|
||||
family: rhel
|
||||
publish:
|
||||
- "3000:3000"
|
||||
|
||||
- name: backup
|
||||
group: backup
|
||||
family: debian
|
||||
publish:
|
||||
- "22:22"
|
||||
Reference in New Issue
Block a user