Требования¶
Кластер¶
- Kubernetes с Ingress-контроллером nginx. Чарт создаёт Ingress с классом
nginx, а также может открыть платформу через NodePort. Проект ingress-nginx сообщества Kubernetes не сопровождается с марта 2026 года, поэтому для рабочей среды выбирайте поддерживаемый контроллер. Если это контроллер другого класса, укажите класс вingress.classNameи уберите аннотациюkubernetes.io/ingress.classизingress.annotations. - StorageClass по умолчанию. PostgreSQL хранит данные на томе 5 ГиБ, который чарт запрашивает через PVC
data-postgres-0. Без StorageClass по умолчанию подpostgres-0останется в состоянииPending. - Узлы с архитектурой
linux/amd64. Офлайн-сборщик и базовый образ интеграций поставляются для этой архитектуры. Образ с другой архитектурой не запустится: интеграция упадёт с ошибкойexec format error. - Отдельный namespace для платформы и интеграций. Интеграции разворачиваются в тот же namespace, что и платформа.
- Если в кластере включён Pod Security Admission и нужен сбор логов Filebeat из чарта, namespace должен иметь уровень
privileged: Filebeat читает логи с узла черезhostPath.
Ресурсы платформы¶
| Компонент | Запрос памяти | Примечание |
|---|---|---|
| Платформа | 1024 МиБ | Задаётся в resources чарта |
| PostgreSQL 16 | 256 МиБ, лимит 512 МиБ, CPU 250m | Разворачивается чартом |
| Filebeat | 100 МиБ, лимит 200 МиБ, CPU 50m | Один под на узел |
Под сборщика и поды интеграций создаются по мере работы. Их ресурсы задаются в проектах.
Внешние системы¶
| Система | Обязательна | Назначение |
|---|---|---|
| Git-сервер (например, GitLab) | Да | Хранит проекты интеграций. Нужна учётная запись с правом записи в ветку |
| Реестр образов | Да | Хранит образ платформы, офлайн-сборщик, базовый образ и образы интеграций. Нужна учётная запись с правом публикации |
| Провайдер OIDC (Keycloak) | Нет | Вход по единой учётной записи |
| Prometheus Operator (kube-prometheus-stack) | Нет | Сбор метрик через PodMonitor |
| Logstash и Elasticsearch | Нет | Сбор и хранение логов |
| Elastic APM Server 8.13 или новее | Нет | Приём трейсов интеграций |
Сетевые соединения¶
| Откуда → куда | Порт | Назначение |
|---|---|---|
| Браузер → Ingress платформы | 443 (HTTPS) | Интерфейс и вход |
Ingress → Service neomsa-esb |
80 → 8080 | Запросы к серверу платформы |
| Балансировщик → NodePort (необязательно) | 30780 | Доступ к платформе без Ingress. NodePort работает по HTTP, TLS завершайте на балансировщике |
Сборщик → Service neomsa-esb |
80 | Получение скрипта сборки |
| Платформа и сборщик → git-сервер | 443 (HTTPS) | Чтение и запись проектов |
| Узлы кластера и сборщик → реестр образов | Порт реестра | Загрузка образов и публикация образов интеграций |
| Платформа → PostgreSQL | 5432 | База платформы |
| Браузер и платформа → провайдер OIDC | 443 (HTTPS) | Вход через SSO |
| Платформа и сборщик → Kubernetes API | Порт API кластера | Создание подов и применение манифестов |
| Клиенты → Service интеграции | 80 → 8080 | Вызовы интеграции |
| Платформа, kubelet, Prometheus → под интеграции | 9876 | Management-сервер Camel: пробы, метрики, состояние маршрутов |
| Filebeat → Logstash | 5045 | Доставка логов |
| Интеграции → APM Server | 8200 | Трейсы OTLP |
| Интеграции → внешние системы | По проекту | Брокеры, базы, HTTP-сервисы |
Кроме межсетевых экранов учтите NetworkPolicy в namespace. Образы загружает container runtime узла, поэтому реестр должен быть доступен из сети узлов, а не только с рабочей станции администратора.
Сертификаты корпоративного центра сертификации¶
Если git-сервер, реестр, провайдер OIDC или другие сервисы используют сертификаты корпоративного центра сертификации, доверие к нему нужно настроить у каждого, кто к ним подключается:
| Кто подключается | Кому должен доверять |
|---|---|
| Браузер пользователя | HTTPS-адресу платформы и провайдеру OIDC |
| Сервер платформы | Провайдеру OIDC и git-серверу |
| Сборщик | Git-серверу и реестру образов |
| Container runtime узлов | Реестру образов |
| Интеграции | Брокерам, базам, API и APM Server, к которым обращаются маршруты |
Не отключайте проверку TLS вместо настройки доверия. Параметр NEOMSA_ESB_CONTAINER_IMAGE_REGISTRY_INSECURE разрешает реестр по HTTP и к доверию сертификатам отношения не имеет.