Перейти к содержанию

Требования

Кластер

  • 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 и к доверию сертификатам отношения не имеет.