- Создано 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
		
			
				
	
	
		
			136 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | ||
| # ПРЕСЕТ: Service Mesh (15-20 машин)
 | ||
| # 
 | ||
| # Описание: Полноценный service mesh с Istio и множественными сервисами
 | ||
| # - 1 Istio Control Plane - управление mesh
 | ||
| # - 1 Istio Ingress Gateway - входная точка
 | ||
| # - 1 Istio Egress Gateway - выходная точка
 | ||
| # - 3 Frontend сервиса - пользовательский интерфейс
 | ||
| # - 3 Backend API сервиса - бизнес-логика
 | ||
| # - 2 Database сервиса - хранение данных
 | ||
| # - 1 Cache сервис - кэширование
 | ||
| # - 1 Message Queue - асинхронная обработка
 | ||
| # - 1 Monitoring (Prometheus) - метрики mesh
 | ||
| # - 1 Tracing (Jaeger) - трассировка запросов
 | ||
| # - 1 Visualization (Kiali) - визуализация mesh
 | ||
| # 
 | ||
| # Использование: make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/servicemesh.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: istio-control
 | ||
|     group: istio
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "15010:15010"
 | ||
| 
 | ||
|   - name: istio-ingress
 | ||
|     group: istio
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "80:80"
 | ||
|       - "443:443"
 | ||
| 
 | ||
|   - name: istio-egress
 | ||
|     group: istio
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "15443:15443"
 | ||
| 
 | ||
|   - name: frontend1
 | ||
|     group: frontend
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "3001:3000"
 | ||
| 
 | ||
|   - name: frontend2
 | ||
|     group: frontend
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "3002:3000"
 | ||
| 
 | ||
|   - name: frontend3
 | ||
|     group: frontend
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "3003:3000"
 | ||
| 
 | ||
|   - name: api1
 | ||
|     group: backend
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "8001:8000"
 | ||
| 
 | ||
|   - name: api2
 | ||
|     group: backend
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "8002:8000"
 | ||
| 
 | ||
|   - name: api3
 | ||
|     group: backend
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "8003:8000"
 | ||
| 
 | ||
|   - name: database1
 | ||
|     group: databases
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "5432:5432"
 | ||
| 
 | ||
|   - name: database2
 | ||
|     group: databases
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "5433:5432"
 | ||
| 
 | ||
|   - name: cache
 | ||
|     group: caches
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "6379:6379"
 | ||
| 
 | ||
|   - name: message-queue
 | ||
|     group: queues
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "5672:5672"
 | ||
| 
 | ||
|   - name: monitoring
 | ||
|     group: monitoring
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "9090:9090"
 | ||
| 
 | ||
|   - name: tracing
 | ||
|     group: tracing
 | ||
|     family: debian
 | ||
|     publish:
 | ||
|       - "16686:16686"
 | ||
| 
 | ||
|   - name: kiali
 | ||
|     group: visualization
 | ||
|     family: rhel
 | ||
|     publish:
 | ||
|       - "20001:20001"
 |