Home
Ru2
Администратору кластера
Сервисы и репозитории
Сервисы в составе платформы
Специфические сервисы кластера управления
Модуль аутентификации (shturval-auth)
Кеш LDAP (ldap-cache)
Изменено 2026-07-01 в 19:41
Кеш LDAP (ldap-cache)
Раздел «Администратору кластера»: быстрый переход по подразделам
На этой странице
Expand
Collapse
О сервисе #
Параметр
Значение
Системное название chart
shturval-auth
Компонент
sh-ldap-cache
Назначение в кластере
Синхронизация данных пользователей и групп LDAP в Redis и HTTP API для просмотра, обновления и сброса кеша.
Критический
Да, если используется LDAP-интеграция
Неймспейс
shturval-backend
ldap-cache входит в Helm chart shturval-auth . Данные кеша использует backend API , а конфигурация LDAP связана с authn-server .
Содержание #
Обзор
Архитектура
Установка / развёртывание
Диагностика
Жизненный цикл
Параметры сервиса
1. Обзор #
Назначение: поддерживать быстрые ответы backend API на запросы к данным пользователей и групп каталогов за счёт фонового обновления кеша Redis и наблюдения конфигурации LDAP из Secret платформы. HTTP-уровень /cache/... обслуживает административные действия синхронизации и выборку списков.
Функции #
Контур
Назначение
User cache controller
Фоновая синхронизация пользовательских записей в Redis пользователей.
Group cache controller
Фоновая синхронизация групп в отдельный Redis.
HTTP API Gin
Методы каталогового кеша: список, refresh, flush.
Watcher Secret ldap-config
Обновляет конфигурацию подключений при изменении Secret.
Cron watcher через /cache/config.json
Задаёт интервалы задач синхронизации при монтировании файла.
Сценарии инициации #
Событие
Инициатор
Эффект
Старт службы
pod Ready
Создаются Redis-клиенты.
Auto refresh
Локальное cron-расписание
Синхронизируется набор данных из LDAP.
Manual refresh/list/flush
backend API
Данные обновляются или читаются немедленно.
LDAP Secret изменён
Администратор
Переинициализируются параметры источников.
Ограничения и следствия #
Ограничение
Следствие
HTTP слушает только :8083
Порт нельзя сменить без совместимого изменения поставки.
CORS всегда AllowAllOrigins
Учитывайте сетевую поверхность сервиса.
Обязательны оба Redis для пользователей и групп
Отсутствие Redis блокирует старт.
Файл /cache/config.json нужен для динамического cron
Проверьте mount, если расписание должно отличаться от defaults.
Место в цепочке управления #
Backend API обращается к HTTP endpoint сервиса при сценариях, где нужна выборка кешируемых сущностей каталогов. Параллельно authn-server использует конфигурацию каталогов из Secret для login-flow.
Ключевые характеристики #
Характеристика
Значение
Бинарь
sh-ldap-cache
Порт процесса
0.0.0.0:8083
Объекты установки Helm
helm/auth/templates/dep-ldap-cache.yaml, Service svc-ldap-cache
Хранилища
Два отдельно настраиваемых Redis: users и groups
2. Архитектура #
Компонент
Роль
sh-ldap-cache
Процесс Gin и два фоновых cache controller: users и groups.
Redis users / groups
Раздельное хранение пользовательского и группового кеша.
Secret watcher
Получение и обновление Secret ldap-config.
Cron config
Параметры времени задач синхронизации.
3. Установка / развёртывание #
Сервис поставляется chart shturval-auth. Параметры LDAP, Redis и расписания синхронизации меняются через ShturvalServicePatch (SSP) для SSC shturval-auth.
4. Диагностика #
kubectl get svc -n " ${ NAMESPACE } "
kubectl get pods -n " ${ NAMESPACE } " -o wide
kubectl logs -n " ${ NAMESPACE } " deployment/DEPLOYMENT_LDAP_CACHE --tail= 200
Подставьте имя Deployment и NAMESPACE по фактическому Helm-релизу.
Симптом
Причина
Действие
Pod уходит в CrashLoop до readiness
Недоступен Redis
Проверить USER_STORE_ADDR, GROUP_STORE_ADDR и сетевую связность.
Кеш давно stale
Недоступен cron-файл или ошибка расписания
Восстановить mount /cache/config.json.
Изменения LDAP Secret не попали в сервис
Watcher застрял или RBAC недоступен
Проверить права службы и события pod.
5. Жизненный цикл #
Шаг
Участник
Результат
1
Процесс создаёт Redis-хранилища
Ошибка подключения приводит к перезапуску pod.
2
Watcher Secret
Настраивает LDAP-параметры для контроллеров кеша.
3
Cache controller
Поддерживает фоновые задачи синхронизации.
4
HTTP-слой
Обслуживает запросы backend и операторских инструментов.
Stateful reconcile операторских CR не выполняется.
6. Параметры сервиса #
Переменная
Назначение
USER_STORE_ADDR, GROUP_STORE_ADDR
Координаты Redis.
USER_STORE_DB_INDEX, GROUP_STORE_DB_INDEX
Индекс логической БД Redis.
USER_STORE_PASSWD, GROUP_STORE_PASSWD
Пароль клиента Redis.
STORE_MASTER, SENTINEL_PASSWD
Sentinel topology.
CACHE_SCAN_SIZE, CACHE_MAX_CONCURRENT_WORKERS
Параметры сканирования кеша и параллелизма LDAP-запросов.
LDAP_REQUEST_PAGE_SIZE, LDAP_REQUEST_TIMEOUT_SEC
Поведение LDAP-запросов.
POD_NAMESPACE
Namespace pod.
Содержимое Secret ldap-config и поля config.json определяет DN, TLS и конкретные параметры подключения к каталогу.