- Создана структура molecule/universal/ с поддержкой DinD и DOoD - Добавлена поддержка Kind кластеров для Kubernetes тестирования - Интегрированы Helm charts (nginx, prometheus-stack) - Добавлена поддержка Istio service mesh с Kiali - Создан Makefile с lab-целями для управления лабораторией - Добавлена поддержка Prometheus + Grafana с автопровижинингом - Создан README с подробной документацией Автор: Сергей Антропов Сайт: https://devops.org.ru
91 lines
2.1 KiB
YAML
91 lines
2.1 KiB
YAML
---
|
||
# Конфигурация универсальной лаборатории
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
|
||
# Сеть для лаборатории
|
||
docker_network: labnet
|
||
|
||
# Образы для разных семейств ОС
|
||
images:
|
||
debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
|
||
rhel: "quay.io/centos/centos:stream9-systemd"
|
||
# Можно использовать собственные образы
|
||
# debian: "inecs/ansible:ubuntu"
|
||
# rhel: "inecs/ansible:centos"
|
||
|
||
# Настройки по умолчанию для systemd контейнеров
|
||
systemd_defaults:
|
||
privileged: true
|
||
command: "/sbin/init"
|
||
volumes:
|
||
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
|
||
tmpfs:
|
||
- "/run"
|
||
- "/run/lock"
|
||
capabilities:
|
||
- "SYS_ADMIN"
|
||
|
||
# Определение хостов лаборатории
|
||
hosts:
|
||
# Пример: etcd кластер
|
||
- name: etcd1
|
||
group: etcd
|
||
family: debian
|
||
- name: etcd2
|
||
group: etcd
|
||
family: debian
|
||
- name: etcd3
|
||
group: etcd
|
||
family: debian
|
||
|
||
# Пример: PostgreSQL с Patroni
|
||
- name: patroni1
|
||
group: patroni
|
||
family: rhel
|
||
- name: patroni2
|
||
group: patroni
|
||
family: rhel
|
||
- name: patroni3
|
||
group: patroni
|
||
family: rhel
|
||
|
||
# Пример: HAProxy
|
||
- name: haproxy
|
||
group: haproxy
|
||
family: rhel
|
||
publish:
|
||
- "5000:5000" # RW порт
|
||
- "5001:5001" # RO порт
|
||
|
||
# Пример: DinD узел для изоляции
|
||
- name: app-dind
|
||
group: apps
|
||
type: dind
|
||
publish:
|
||
- "8080:8080"
|
||
|
||
# Пример: DOoD узел (Docker Outside of Docker)
|
||
- name: app-dood
|
||
group: apps
|
||
type: dood
|
||
publish:
|
||
- "8081:8081"
|
||
|
||
# Kind кластеры (опционально)
|
||
kind_clusters:
|
||
- name: lab
|
||
workers: 2
|
||
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
|
||
|
||
# Пути для файлов
|
||
generated_inventory: "${MOLECULE_EPHEMERAL_DIRECTORY}/inventory/hosts.ini"
|