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

Системные требования (Kubernetes)

Страница описывает требования для production-развёртывания AppSec.GenAI v2 в кластере Kubernetes через Helm-чарты (Wizard или ручная установка). Требования отличаются от моно-хостовой Docker Compose-инсталляции: нагрузка распределяется по нодам, инфраструктурные сервисы разворачиваются как отдельные компоненты с собственными PVC, а внешний доступ идёт через Ingress/Gateway.

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

Компонент Минимум Примечание
Kubernetes 1.26+
kubectl соответствует версии сервера настроенный kubeconfig
Helm 3.12+ только для ручной установки
Docker 24.0+ только для запуска Wizard
StorageClass (CSI) любой обязателен при persistence=true (production)
Envoy Gateway v1.5+ только при exposure: gateway
NVIDIA device plugin только для GPU-нагрузок (см. GPU)

Вычислительные ресурсы

Требования к кластеру — суммарно по всей платформе (12 продуктовых сервисов + инфраструктура: PostgreSQL, Redis, NATS, MinIO, Keycloak в одном namespace).

Профиль vCPU RAM Назначение
Минимум 8 24 ГБ демо, пилот, лёгкая нагрузка без тяжёлых whitebox-атак
Рекомендуется (production) 24+ 48 ГБ боевая эксплуатация, одновременные CV/ASR whitebox

Whitebox-атаки — самая ресурсоёмкая нагрузка

Adversarial-атаки CV/ASR whitebox кратковременно нагружают воркеры в разы сильнее фонового потребления. Под них берите «рекомендуемый» уровень — иначе одновременный запуск CV whitebox + ASR whitebox может привести к падению воркеров по памяти (OOMKilled). Альтернатива при ограниченных ресурсах — разносить ресурсоёмкие атаки во времени.

Сверх вычислительных ресурсов

Дополнительно заложите дисковое пространство под PVC (см. Хранилище) и системный запас нод кластера. GPU-ноды считаются отдельно — они нужны только для whitebox-атак и опционального GPU-судьи.

Архитектура процессора

Поддерживается только x86_64 (AMD64). ARM-ноды не поддерживаются.

Хранилище (persistent volumes)

Для production (persistence=true) каждый инфраструктурный сервис требует собственный PVC. StorageClass должен поддерживать динамическое провизионирование (CSI). Для БД и объектного хранилища рекомендуется ReclaimPolicy=Retain.

Компонент Размер PVC (по умолчанию) Примечание
PostgreSQL 50 Gi основная БД платформы
MinIO 200 Gi объектное хранилище; учитывает веса моделей (~15 ГБ Whisper + CV)
NATS JetStream 10 Gi шина событий, at-least-once delivery
Redis 2 Gi кеш и очереди
Keycloak 1 Gi конфигурация realm (при БД-независимом режиме)
Итого ~263 Gi базовая оценка без учёта роста данных

persistence=false в production

При persistence.enabled: false инфраструктурные данные хранятся в emptyDir и теряются при перезапуске подов. Этот режим допустим только для dev/smoke-стендов.

Сеть и внешний доступ

Внешний доступ к платформе организуется через Envoy Gateway (exposure: gateway) либо через существующий Ingress-контроллер клиента.

Наружу публикуются только:

  • UI — веб-интерфейс платформы;
  • UI Gateway — API Gateway (BFF) и WebSocket-подключения из браузера.

Все остальные сервисы (продуктовые API, PostgreSQL, Redis, NATS, MinIO, Keycloak) остаются доступны только внутри кластера через ClusterIP и резолвятся по внутренним DNS-именам — знать их номера портов для эксплуатации не требуется, внешняя публикация им не нужна.

TLS и DNS при auth: true

Для production-режима с OIDC (Keycloak + Envoy SecurityPolicy) потребуется TLS-секрет и DNS-записи на публичные хосты (UI, Keycloak, MinIO) — они указываются при установке через Wizard.

GPU

GPU не требуется для базовой эксплуатации: все blackbox-атаки (Jailbreak, ASR blackbox, CV blackbox) работают без графического ускорителя.

GPU задействуется в двух случаях:

  1. Whitebox-атаки — CV whitebox (FGSM, PGD, C&W, DeepFool) и ASR BIM. Без GPU выполняются на CPU, но значительно медленнее.
  2. Опциональный GPU-судья (см. ниже).

Требования к GPU-ноде

Параметр Требование
Производитель NVIDIA
Compute Capability ≥ 7.0
Драйвер NVIDIA 525.x и выше
CUDA 12.1+
NVIDIA device plugin установлен в кластере
Видеопамять (VRAM) для whitebox-атак — 8 ГБ и более (рекомендуется 16 ГБ); для GPU-судьи — 16 ГБ и более (см. ниже)

GPU-нода обычно помечается taint'ом (например nvidia.com/gpu=true:NoSchedule) — GPU-компоненты в этом случае настраиваются с соответствующими nodeSelector и tolerations в values.

Опциональный GPU-судья (LLM-Judge)

Для оценки jailbreak-атак доступен GPU-судья (llm-judge-service-gpu, модель JailJudge-guard, FP16-инференс на PyTorch/CUDA 12.1) с latency оценки ~0.5–1.5 с.

Опциональный компонент

GPU-судья предоставляется SwordFish Security по запросу и разворачивается как отдельный компонент. Требует GPU-ноду (см. требования выше).

Ресурсы GPU-судьи (при развёртывании):

Ресурс Requests Limits
CPU 1 4
Memory 8 Gi 16 Gi
GPU nvidia.com/gpu: 1 nvidia.com/gpu: 1
VRAM ~15 ГБ (FP16)

VRAM GPU-судьи

Фактическое потребление видеопамяти GPU-судьёй — ~15 ГБ (веса JailJudge-guard в FP16 + CUDA-контекст). Карты с 8–12 ГБ VRAM для FP16-инференса не подходят — требуется GPU с 16 ГБ и более (рекомендуется 24 ГБ, особенно если GPU делится с другими нагрузками).

Модель загружается lazy при первом запросе из MinIO в emptyDir (~15 Gi под кеш) — отдельный PVC не требуется.

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

Все чарты и образы поставляются из OCI-реестра:

registry.appsec.global/appsecgenai-release/

Учётные данные (imagePullSecret) предоставляет SwordFish Security.

Поддерживаемые браузеры

Браузер Минимальная версия
Google Chrome 120+
Mozilla Firefox 120+
Яндекс Браузер 24+

Веб-интерфейс требует поддержки JavaScript (ES2022+) и WebSocket.