- Создано 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
		
			
				
	
	
		
			182 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| # ПРЕСЕТ: Максимальный (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"
 |