--- # ПРЕСЕТ: Максимальный (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"