СДЕ Sarex — типовой контур (пример)
Технологический слой типового контура. Имена кластера, узлов, доменов и реестра заменены на примеры. Прикладной слой присутствует только как потребители технологических сервисов — межсервисные связи приложений моделируются отдельно.
attachments
apps/attachments/<contour>/
auth-flow
apps/auth-flow/<contour>/
bim
apps/bim/<contour>/
cde
apps/cde/<contour>/
checklists
apps/checklists/<contour>/
comparisons
apps/comparisons/<contour>/
contracts
apps/contracts/<contour>/
control-interface
apps/control-interface/<contour>/
cross-section
apps/cross-section/<contour>/
django
apps/django/<contour>/
document-link
apps/document-link/<contour>/
documentations
apps/documentations/<contour>/
drawings
apps/drawings/<contour>/
eav
apps/eav/<contour>/
faas
apps/faas/<contour>/
flows
apps/flows/<contour>/
iam
apps/iam/<contour>/
inspections
apps/inspections/<contour>/
issues
apps/issues/<contour>/
mapper
apps/mapper/<contour>/
measurements
apps/measurements/<contour>/
message-hub
apps/message-hub/<contour>/
notes
apps/notes/<contour>/
pm
apps/pm/<contour>/
prescriptions
apps/prescriptions/<contour>/
processing
apps/processing/<contour>/
projects
apps/projects/<contour>/
remarks
apps/remarks/<contour>/
reviews
apps/reviews/<contour>/
rfi
apps/rfi/<contour>/
stamp-verification
apps/stamp-verification/<contour>/
subscriptions
apps/subscriptions/<contour>/
system-log
apps/system-log/<contour>/
transmittal
apps/transmittal/<contour>/
workspaces
apps/workspaces/<contour>/
Кластер k8s-prod
clusters/<contour>/kustomization.yaml. Развёртывание через FluxCD v2 (GitOps).
Istio Ingress Gateway
Ingress-контроллер, публикует контур наружу через NodePort.
Istio Service Mesh
chart istio-config-contour. Gateway, VirtualService, RequestAuthentication.
cert-manager
Выпуск сертификатов. В примере — самоподписанный ClusterIssuer, wildcard на домен контура.
Zitadel
chart idp-contour, ns zitadel. Основной поставщик идентичности.
Vault + Agent Injector
chart vault-contour, ns vault. Единственный механизм доставки секретов, путь secrets/data/apps/<app>/postgres.
PostgreSQL
chart postgresql-contour, ns postgresql. PVC на сетевом хранилище.
Redis
Разворачивается не во всех контурах и не для всех приложений.
Kafka
chart kafka-contour, ns kafka.
RabbitMQ
chart rabbitmq-contour, ns rabbitmq.
Camunda Platform
chart camunda-contour, ns camunda. Воркеры прикладных сервисов подключаются к Zeebe-gateway как job-workers, HTTP-часть ходит в Operate. Переменные ZEEBE_*/CAMUNDA_* приходят из k8s-секрета, поэтому в манифестах не видны.
Zeebe
Zeebe Gateway
Operate
Tasklist
Optimize
Identity
Connectors
s3.example.com — объектное хранилище
Внешнее по отношению к кластеру.
Сетевое хранилище (StorageClass)
Класс хранения для PVC.
Git-сервер контура
Источник манифестов для Flux.
registry.example.com
Реестр Helm-чартов (OCI) и образов контейнеров.
Helm-чарты (OCI)
Образы контейнеров
frontend-node-01
Выделенный узел, к которому ingress-gateway прибит через nodeSelector.
Маршрутизация HTTPS-трафика
Выпуск TLS-сертификатов
Аутентификация OIDC
Управление секретами
Реляционное хранилище
Кэш
Событийная шина
Очередь сообщений AMQP
Оркестрация процессов BPMN
Объектное хранилище
Группа узлов processing (Сервера приложений)
Группа узлов generic (Сервера приложений)
Объектное хранилище
Группа узлов DB (Базы данных)
Группа узлов K8s (Поддерживающая инфраструктура)
Репозиторий компонентов
Реестр Helm-чартов и образов + Git-сервер контура, из которого Flux читает манифесты. Состав требует подтверждения.
CAD ферма
Состав не выведен из репозитория — заполнить вручную: какие сервисы и ПО работают на этой группе узлов.
T1. Технологический слой
Что развёрнуто в кластере и какие технологические сервисы это даёт. Приложения-потребители вынесены в отдельные представления T2 и далее.
T2. Развёртывание по узлам
Какие группы узлов какие компоненты несут. Вложенность заменяет стрелки: хост внутри группы — composition, приложение — assignment, системное ПО — aggregation. Имена хостов заданы в профиле контура.
T3. Потребители: Маршрутизация HTTPS-трафика
21 из 35 приложений контура. Связи выведены из манифестов приложений.
T4. Потребители: Аутентификация OIDC
24 из 35 приложений контура. Связи выведены из манифестов; 14 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.
T5. Потребители: Управление секретами
25 из 35 приложений контура. Связи выведены из манифестов приложений.
T6. Потребители: Реляционное хранилище
23 из 35 приложений контура. Связи выведены из манифестов приложений.
T7. Потребители: Кэш
5 из 35 приложений контура. Связи выведены из манифестов; 2 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.
T8. Потребители: Событийная шина
13 из 35 приложений контура. Связи выведены из манифестов; 1 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.
T9. Потребители: Очередь сообщений AMQP
12 из 35 приложений контура. Связи выведены из манифестов; 1 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.
T10. Потребители: Оркестрация процессов BPMN
1 из 35 приложений контура. Связи выведены из манифестов; 1 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.
T11. Потребители: Объектное хранилище
15 из 35 приложений контура. Связи выведены из манифестов; 2 из них подтверждаются только документацией сервиса — значения приходят из k8s-секретов и в конфигах не видны.