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.