- Создано 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
101 lines
2.2 KiB
YAML
101 lines
2.2 KiB
YAML
---
|
||
# ПРЕСЕТ: CI/CD пайплайн (10-15 машин)
|
||
#
|
||
# Описание: Полноценный CI/CD пайплайн с различными инструментами
|
||
# - 1 Git сервер (Gitea) - управление кодом
|
||
# - 2 CI сервера (Jenkins) - сборка и тестирование
|
||
# - 1 артефакт репозиторий (Nexus) - хранение артефактов
|
||
# - 1 Docker registry - хранение образов
|
||
# - 2 тестовые среды (staging, production) - развертывание
|
||
# - 1 мониторинг (Prometheus) - метрики пайплайна
|
||
# - 1 логирование (ELK Stack) - централизованные логи
|
||
#
|
||
# Использование: make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/cicd.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: git-server
|
||
group: scm
|
||
family: debian
|
||
publish:
|
||
- "3000:3000"
|
||
|
||
- name: jenkins1
|
||
group: ci
|
||
family: rhel
|
||
publish:
|
||
- "8080:8080"
|
||
|
||
- name: jenkins2
|
||
group: ci
|
||
family: debian
|
||
publish:
|
||
- "8081:8080"
|
||
|
||
- name: nexus
|
||
group: artifacts
|
||
family: rhel
|
||
publish:
|
||
- "8081:8081"
|
||
|
||
- name: docker-registry
|
||
group: registries
|
||
family: debian
|
||
publish:
|
||
- "5000:5000"
|
||
|
||
- name: staging
|
||
group: environments
|
||
family: rhel
|
||
publish:
|
||
- "8082:80"
|
||
|
||
- name: production
|
||
group: environments
|
||
family: debian
|
||
publish:
|
||
- "8083:80"
|
||
|
||
- name: monitoring
|
||
group: monitoring
|
||
family: rhel
|
||
publish:
|
||
- "9090:9090"
|
||
|
||
- name: elasticsearch
|
||
group: logging
|
||
family: debian
|
||
publish:
|
||
- "9200:9200"
|
||
|
||
- name: kibana
|
||
group: logging
|
||
family: rhel
|
||
publish:
|
||
- "5601:5601"
|
||
|
||
- name: logstash
|
||
group: logging
|
||
family: debian
|
||
publish:
|
||
- "5044:5044"
|