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

Руководство по установке

Целевая аудитория

Настоящее руководство предназначено для системных администраторов и DevOps-инженеров, занимающихся установкой, настройкой и сопровождением платформы AppSec.GenAI.

Назначение документа

Документ описывает два сценария развёртывания платформы AppSec.GenAI и сопутствующие операционные процедуры:

  • Установка в docker-compose (пилот/демо) — быстрое развёртывание на одном хосте для пилотных проектов, демонстраций и оценочного тестирования.
  • Установка в Kubernetes (production) — продуктивное развёртывание в кластере Kubernetes c поддержкой отказоустойчивости и горизонтального масштабирования.

Для каждого сценария приведены требования к окружению, пошаговая процедура установки, конфигурация компонентов, а также сведения по обновлению, мониторингу и устранению неполадок.

Выбор сценария установки

Платформа поддерживает два независимых способа развёртывания. Выберите подходящий по таблице ниже.

Критерий docker-compose (пилот/демо) Kubernetes (production)
Назначение Пилот, демо, оценочное тестирование, локальная разработка Промышленная эксплуатация
Размер инсталляции Один хост Кластер из нескольких узлов
Отказоустойчивость Отсутствует Поддерживается (репликация подов, healthchecks, авто-восстановление)
Горизонтальное масштабирование Не предусмотрено Поддерживается (HPA, увеличение replicas)
Установщик Docker Compose Helm-чарты из Harbor OCI-реестра — через Wizard или вручную
Срок развёртывания От 30 минут От нескольких часов в зависимости от подготовки кластера
Требования к команде Знание Docker Знание Kubernetes, Helm и сетевой инфраструктуры

Рекомендация

Если платформа разворачивается впервые — начните с docker-compose-сценария для знакомства с функциональностью. Промышленное развёртывание планируйте в Kubernetes.

Переход к сценарию

Состав платформы

Независимо от сценария установки платформа состоит из одного и того же набора логических компонентов: инфраструктурных сервисов, продуктовых микросервисов и фронтенда.

graph TB
    subgraph FE["Frontend"]
        UI[UI - Angular]
        GW[UI Gateway - NestJS]
    end

    subgraph API["API-сервисы"]
        MM[Model Management]
        SP[Scan Profile]
        RS[Results]
        SO[Scan Orchestrator]
        JB[Jailbreak API]
        ASR[ASR API]
        CV[CV API]
        AUTH[Auth Service]
        LIC[License Service]
    end

    subgraph WK["Воркеры атак"]
        JBW[Jailbreak workers]
        ASRW[ASR workers]
        CVW[CV workers]
    end

    subgraph INF["Инфраструктура"]
        PG[(PostgreSQL)]
        NATS[NATS JetStream]
        RD[(Redis)]
        S3[MinIO / S3]
        KC[Keycloak]
    end

    UI --> GW
    GW --> MM & SP & RS & SO & JB & ASR & CV & AUTH & LIC
    MM & SP & RS & SO & AUTH & LIC --> PG
    SO --> NATS
    JB & ASR & CV --> NATS
    JBW & ASRW & CVW --> NATS
    JB & ASR & CV --> PG
    MM & SO --> RD
    SP & RS --> S3
    AUTH --> KC

    classDef cluster fill:transparent,stroke:#888,stroke-width:1px
    class FE,API,WK,INF cluster

Различается только способ упаковки и оркестрации этих компонентов:

  • В docker-compose-сценарии все компоненты разворачиваются как 38+ Docker-контейнеров на одном хосте, управляемых Docker Compose.
  • В Kubernetes-сценарии каждый компонент устанавливается из отдельного Helm-чарта в виде Deployment/StatefulSet с поддержкой реплик и автомасштабирования.

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

Требования к ресурсам и окружению существенно различаются между сценариями: