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

Redis

Redis 7 — кеш и очереди задач. Каждый сервис использует выделенный DB-индекс для изоляции данных.

Назначение

Используется сервисами для кеширования, очередей фоновых задач и distributed locks. Критичен для производительности: orchestrator и model-mgmt активно используют кеш.

Зависимости

Входящие (кто подключается)

Сервис Redis DB Назначение
jailbreak 0 очереди задач
model-mgmt 0 кеш метаданных моделей
orchestrator 1 очереди сканирований
asr 2 очереди задач
auth-service 2 сессии, токены
license-service 2 кеш лицензий
cv 3 очереди задач

Исходящие

Нет.

Values

Параметр По умолчанию Обязателен Описание
persistence.enabled false нет Включить PVC
persistence.size "2Gi" нет Размер PVC
persistence.storageClass "" нет StorageClass
global.image.tag да Версия образа
global.imagePullSecrets[0].name да imagePullSecret

Пример values.yaml

# values-redis.yaml
persistence:
  enabled: true          # ОБЯЗАТЕЛЬНО для production
  size: "2Gi"
  storageClass: ""

global:
  image:
    registry: registry.appsec.global
    repositoryPrefix: appsecgenai-release
    tag: "<VERSION>"
  imagePullSecrets:
    - name: harbor-cr

Установка

helm upgrade --install redis \
  oci://registry.appsec.global/appsecgenai-release/charts/redis \
  --version <VERSION> -n genai --create-namespace \
  -f values-redis.yaml

После установки чарт создаёт Secret redis-auth с ключом REDIS_PASSWORD.

Внешний Redis

Если Redis уже развёрнут отдельно — установите redis.enabled: false и укажите координаты в global.deps.redis.

Wizard (values.yaml)

redis:
  enabled: false           # не ставить in-cluster Redis

global:
  deps:
    redis:
      host: redis.example.com
      port: 6379
      existingSecret: redis-auth   # Secret с ключом REDIS_PASSWORD

Создайте Secret с паролем до запуска Wizard:

kubectl create secret generic redis-auth -n genai \
  --from-literal=REDIS_PASSWORD="<strong-password>"

Нет поля scheme

Redis подключается по TCP напрямую — схема (redis://) конструируется внутри чартов из global.url.redisUrl. TLS не поддерживается в текущей конфигурации продуктовых сервисов.

Ручная установка (k8s-manual)

# values-<service>.yaml
global:
  url:
    # Внешний Redis — строковый формат
    redisUrl: "redis://:$(REDIS_PASSWORD)@redis.example.com:6379/0"