feat: Добавлены расширенные пресеты для Kubernetes, DinD и DOoD

- Создано 11 новых пресетов для различных конфигураций
- Kubernetes пресеты: single, multi-cluster, istio-full
- DinD пресеты: simple, swarm, compose
- DOoD пресеты: simple, mixed
- Смешанные пресеты: k8s+dind, k8s+dood, full-stack

Kubernetes пресеты:
- k8s-single.yml - одиночный Kind кластер
- k8s-multi.yml - мульти-кластерная конфигурация (dev/staging/prod)
- k8s-istio-full.yml - полный стек Istio с мониторингом

DinD пресеты:
- dind-simple.yml - 3 изолированных Docker среды
- dind-swarm.yml - Docker Swarm кластер (1 manager + 4 workers)
- dind-compose.yml - 4 DinD контейнера для Compose стека

DOoD пресеты:
- dood-simple.yml - 3 DOoD контейнера с доступом к Docker daemon
- dood-mixed.yml - смешанная конфигурация DOoD + systemd

Смешанные пресеты:
- mixed-k8s-dind.yml - Kubernetes + DinD
- mixed-k8s-dood.yml - Kubernetes + DOoD
- mixed-full.yml - полная гибридная конфигурация

Обновлена документация:
- README с описанием всех 21 пресета
- Категоризация по типам (классические, k8s, dind, dood, смешанные)
- Примеры использования для каждого пресета
- Рекомендации по выбору подходящего пресета

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 13:23:01 +03:00
parent b1bae8af9f
commit d32ca54f7b
14 changed files with 871 additions and 1 deletions

View File

@@ -0,0 +1,102 @@
---
# ПРЕСЕТ: Mixed Full Stack (1 K8s + 2 DinD + 2 DOoD + 2 systemd)
#
# Описание: Полная смешанная конфигурация для комплексного тестирования
# - 1 Kind кластер с полным стеком
# - 2 DinD контейнера для изолированных сред
# - 2 DOoD контейнера для Docker операций
# - 2 systemd контейнера для системных ролей
#
# Использование: make lab-test SCENARIO=universal LAB_SPEC=molecule/presets/mixed-full.yml
#
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
docker_network: labnet
kind_clusters:
- name: full-stack
workers: 3
api_port: 6443
addons:
ingress_nginx: true
metrics_server: true
istio: true
kiali: true
prometheus_stack: true
ingress_host_http_port: 8081
ingress_host_https_port: 8443
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:
# Kubernetes контроллер
- name: k8s-controller
group: controllers
family: debian
publish:
- "6443:6443"
- "9090:9090" # Prometheus
- "3000:3000" # Grafana
- "16686:16686" # Jaeger
- "20001:20001" # Kiali
# DinD контейнеры
- name: dind-dev
type: dind
group: dind
publish:
- "2375:2375"
- "8080:8080"
- name: dind-prod
type: dind
group: dind
publish:
- "2376:2375"
- "8081:8080"
# DOoD контейнеры
- name: dood-web
type: dood
family: debian
group: dood
publish:
- "8082:80"
env:
DOCKER_HOST: "unix:///var/run/docker.sock"
- name: dood-api
type: dood
family: rhel
group: dood
publish:
- "8083:3000"
env:
DOCKER_HOST: "unix:///var/run/docker.sock"
# Systemd контейнеры
- name: systemd-monitor
family: rhel
group: monitoring
publish:
- "9091:9090"
- name: systemd-logs
family: debian
group: logging
publish:
- "5601:5601"