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

Kubernetes — требования к кластеру

Ниже — минимальные требования к кластеру для промышленного развёртывания AppSec.AIGate. Установка выполняется через Wizard.

Версия и компоненты кластера

  • Kubernetes: 1.26 или новее.
  • Helm: 3.12+ — нужен только для ручной установки чартов (Wizard несёт чарты внутри образа).
  • Docker: 24+ — нужен только для запуска Wizard с рабочей машины (docker run); при in-cluster Job не требуется.
  • Точка входа извне (только при exposure: gateway): Envoy Gateway v1.5+ или установленные CRD Gateway API. При exposure: ingress используется штатный Ingress-контроллер кластера. См. Установку через Wizard.
  • StorageClass с ReadWriteOnce — обязателен для persistence в production (PostgreSQL, MinIO, Redis). Для dev/smoke (persistence=false) хранилище не требуется.

GPU-узлы

ML-сервисы (Threat Detector, Content Safety, Translation Service) требуют GPU (см. требования к GPU/VRAM).

  • NVIDIA GPU: на GPU-узлах должен быть установлен NVIDIA GPU Operator или device-plugin (драйвер + runtime), чтобы Kubernetes выдавал ресурс nvidia.com/gpu.
  • VRAM: ~24 ГБ на узел при размещении всех трёх ML-сервисов одновременно (threat-detector ~8 ГБ, content-safety ~8 ГБ, translation-service ~0.5 ГБ).
  • Размещение: ML-сервисы привязываются к GPU-узлам через nodeSelector и tolerations (если узлы помечены taint).
  • Установка с флагом --no-gpu пропускает три ML-сервиса целиком (см. Установку через Wizard). CPU-варианта ML-сервисов не существует: в такой установке детекция угроз, Content Safety и перевод недоступны — режим не предназначен для защиты production-трафика.

Ресурсы (requests/limits)

Значения CPU/RAM для не-GPU сервисов задаются resource-пресетами и уточняются под профиль нагрузки заказчика; таблица ниже — ориентир. GPU-сервисы limits по CPU/RAM не задают (см. продуктовые сервисы) — для них фиксируется только nvidia.com/gpu: 1.

Сервис CPU req/lim RAM req/lim GPU
api-gateway уточняется под профиль нагрузки уточняется под профиль нагрузки
прочие data/control-plane сервисы уточняется под профиль нагрузки уточняется под профиль нагрузки
threat-detector — (limits не задаются) — (limits не задаются) nvidia.com/gpu: 1
content-safety — (limits не задаются) — (limits не задаются) nvidia.com/gpu: 1
translation-service — (limits не задаются) — (limits не задаются) nvidia.com/gpu: 1

Ориентир по размеру кластера

  • dev/smoke (persistence=false): минимальные ресурсы, GPU-узел не обязателен (можно ставить с --no-gpu).
  • production (persistence=true): требуется StorageClass с ReadWriteOnce и отдельный GPU-узел под три ML-сервиса.

Внешние зависимости

Инфраструктуру (PostgreSQL, Redis, MinIO, Keycloak) можно разворачивать в кластере либо использовать управляемые сервисы — см. Инфраструктура.

Реестр образов

Образы публикуются в registry.appsec.global/appsecaigate-release/. Доступ к реестру выдаёт SwordFish Security; в кластере создаётся imagePullSecret harbor-cr (по умолчанию), привязанный к хосту registry.appsec.global.