Инструкция по развертыванию DataLens On-premises

В этом разделе вы найдете информацию об установке и запуске DataLens On-premises:

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

Перед установкой DataLens On-premises подготовьте окружение для развертывания. От доступных ресурсов и конфигурации инфраструктуры зависит стабильность работы системы и производительность при одновременной работе пользователей с дашбордами.

Условия доступа к дистрибутиву

Дистрибутив DataLens On-premises предоставляется по договору с Yandex Cloud.

Для доступа к Yandex Cloud и скачивания дистрибутива нужен активный платежный аккаунт. Пользователю, который скачивает дистрибутив, необходима роль datalens.admin или выше на уровне организации.

Операционные системы

Операционная система Версии
Ubuntu 20.04, 22.04, 24.04
Debian 10, 11, 12
CentOS 7
Astra Linux 1.7
Oracle Linux 8, 9
Red Hat Enterprise Linux 8, 9
CentOS Stream 8, 9
РЕД ОС Поддерживаемые версии

Примечание

Работоспособность гарантирована только для дистрибутивов, основанных на Debian.

Оборудование

Рекомендуемые системные требования для промышленной эксплуатации

Для промышленной эксплуатации требования зависят от количества одновременных пользователей и сложности дашбордов. При планировании ресурсов для 100 и более активных пользователей рекомендуется закладывать не менее следующей конфигурации:

  • vCPU — 16.
  • RAM — 32 ГБ.
  • SSD — 100 ГБ.

Точные требования к ресурсам определяются по результатам нагрузочного тестирования.

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

Примечание

Для промышленной эксплуатации рекомендуется использовать отдельный кластер PostgreSQL в отказоустойчивой конфигурации: мастер + 1 реплика.

Внешний отказоустойчивый кластер PostgreSQL повышает надежность системы и снижает риск потери служебных данных DataLens On-premises.

Минимальные системные требования к кластеру:

  • vCPU — 4.
  • RAM — 8 ГБ.
  • SSD — 100 ГБ.

При развертывании кластера PostgreSQL для высокой нагрузки нужно рассчитать потребление ресурсов в зависимости от числа пользователей.

Для базы данных PostgreSQL сервиса United Storage необходимы следующие расширения:

  • pg_trgm
  • btree_gin
  • btree_gist
  • uuid-ossp

Они устанавливаются автоматически, если у пользователя есть соответствующие права.

При развертывании кластера Yandex Managed Service for PostgreSQL для сервиса United Storage:

  • Укажите вручную в консоли управления перечисленные выше расширения.
  • Укажите параметры Локаль сортировки (LC_COLLATE) и Локаль набора символов (LC_CTYPE) со значением en_US.UTF-8. Это обеспечит эффективное создание индексов для поиска пользователей.

Развертывание

Развертывание можно выполнить с сервера Linux/amd64, на котором будет происходить установка. Также можно выполнить развертывание с удаленной машины, имеющей доступ к кластеру Kubernetes на Linux/amd64 или macOS/arm64.

Скачайте дистрибутив

  1. Убедитесь, что выполнены условия доступа к дистрибутиву.

  2. Получите ссылку на скачивание дистрибутива:

    1. Откройте список версий DataLens On-premises.
    2. Напротив нужной версии нажмите Скачать.
    3. Ознакомьтесь с лицензионным соглашением и нажмите Продолжить.
    4. В окне Загрузка дистрибутива нажмите Копировать ссылку.
  3. На целевой виртуальной машине сохраните полученную ссылку в переменную:

    URL="<ссылка_на_дистрибутив>"
    
  4. Скачайте и распакуйте архив в папку datalens-enterprise:

    curl -L "$URL" -o datalens-enterprise.tar
    mkdir -p ./datalens-enterprise
    tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
    

Разверните дистрибутив

Скрипт ./init.sh позволяет развернуть DataLens On-premises в существующем кластере Kubernetes. Если кластера Kubernetes нет, скрипт также может установить его на ВМ.

Чтобы развернуть дистрибутив:

  1. Перейдите в корневую папку дистрибутива:

    cd ./datalens-enterprise
    
  2. Выполните команду развертывания с нужными аргументами:

    ./init.sh
    

    Например, чтобы выполнить полную сборку DataLens On-premises:

    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls \
      --ingress-tls-gen \
      --export \
      --files \
      --editor \
      --yandex-map \
      --cache \
      --usage-tracking
    

    После каждого развертывания генерируется файл ./values.debug.yaml, в котором сохраняются все параметры, кроме секретов. Этот файл может помочь в диагностике системы при обращении в службу поддержки.

Примеры использования скрипта
  • Базовая установка с K3s на ВМ с автоматической генерацией самоподписанных TLS-сертификатов:

    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls \
      --ingress-tls-gen
    
  • Развертывание на домене с пользовательскими TLS-сертификатами:

    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls-crt <путь_к_сертификату> \
      --ingress-tls-key <путь_к_ключу>
    
  • Зеркалирование образов в приватный реестр Docker-образов:

    ./init.sh \
      --docker-image-load \
      --docker-image-push \
      --docker-registry <URL_реестра> \
      --docker-config <путь_к_файлу_конфигурации_Docker>
    
  • Развертывание с настройкой пользовательских провайдеров аутентификации:

    ./init.sh \
      --auth-providers-config <путь_к_файлу_провайдеров_аутентификации>
    
  • Развертывание с настройкой параметров через пользовательский файл values.yaml:

    ./init.sh \
      --values <путь_к_файлу>
    
  • Получение пароля администратора из секретов после развертывания:

    ./init.sh \
      --get-admin-password
    
  • Развертывание с настройкой AI-ассистента:

    ./init.sh \
      --ai-endpoint <эндпоинт> \
      --ai-model-name <имя_модели> \
      --ai-api-token <API-ключ>
    

    Например, для Yandex AI Studio:

    ./init.sh \
      --ai-endpoint https://ai.api.cloud.yandex.net/v1 \
      --ai-model-name gpt://<идентификатор_каталога>/deepseek-v4-flash/latest \
      --ai-api-token <API-ключ>
    
  • Получение всех логов из всех подов DataLens для отладки:

    ./init.sh --stern . -o extjson > datalens.enterprise.log
    
  • Получение всех событий кластера Kubernetes для отладки ошибок развертывания:

    ./init.sh --kubectl events
    

Особенности скрипта развертывания

Скрипт ./init.sh — основная точка управления дистрибутивом. Он запускает служебные скрипты из дистрибутива и выполняет операции развертывания, обновления, диагностики и администрирования. Например, с помощью ./init.sh можно развернуть DataLens On-premises, обновить установленную версию, получить пароль администратора или выполнить команду kubectl в кластере Kubernetes.

Выбор кластера Kubernetes

Если кластера Kubernetes нет, передайте аргумент --k3s-install: скрипт автоматически установит локальный кластер K3s без доступа к публичной сети. Если DataLens On-premises нужно развернуть в существующем кластере Kubernetes, перед запуском скрипта задайте переменную окружения KUBECONFIG. В этом случае ./init.sh подключится к указанному кластеру и применит конфигурацию в нем.

Настройка параметров развертывания

Параметры развертывания можно задавать напрямую аргументами командной строки или через пользовательский файл values.yaml:

  • Аргументы командной строки удобны для базовых сценариев: установки K3s, настройки домена, TLS-сертификатов и включения дополнительных возможностей.
  • Файл values.yaml удобен для расширенной настройки Helm-чарта и параметров, которые не задаются отдельными аргументами командной строки. Чтобы использовать такой файл, передайте его скрипту с помощью аргумента --values.

В обоих случаях развертывание выполняется через ./init.sh: скрипт получает параметры из аргументов командной строки и, при необходимости, из пользовательского файла values.yaml, затем применяет итоговую конфигурацию к Helm-чарту.

Примечание

Не редактируйте исходный файл ./helm/values.yaml. Используйте копию оригинального файла или копию файла примера ./help/values.example.yaml.

Проверка и выполнение операции

При каждом запуске ./init.sh проверяет целостность дистрибутива: верифицирует контрольные суммы и сохраняет итоговые значения в переменные развертывания.

При первом развертывании RSA-ключи для сервиса аутентификации и авторизации генерируются автоматически, если не указано другое поведение.

Если запустить скрипт с аргументом --atomic, операция развертывания или обновления будет выполнена как единая транзакция: она либо завершится полностью успешно, либо полностью откатится.

Ресурсы контейнеров

В Helm-чарте не указаны лимиты по CPU для контейнеров приложения. Это предотвращает троттлинг всего приложения и соответствует рекомендациям документации Kubernetes.

Обновление дистрибутива

  1. Скачайте дистрибутив и распакуйте архив в папку datalens-enterprise поверх предыдущей версии DataLens On-premises.

  2. Выполните действия в зависимости от предыдущей версии:

    Выполните команду развертывания:

    ./init.sh --update
    
    1. Выполните команды для обратной совместимости PostgreSQL:

      ./init.sh --pg /init/utils.sh --update-template-collation
      ./init.sh --pg /init/init-db-aux.sh
      
    2. Выполните команду развертывания:

      ./init.sh --update
      
    1. Выполните команды для обратной совместимости PostgreSQL:

      ./init.sh --pg /init/utils.sh --update-template-collation
      ./init.sh --pg /init/init-db-aux.sh
      
    2. Выполните команды для обратной совместимости Redis:

      # удаляем развертывание Redis-базы данных
      ./init.sh --kubectl delete deployment datalens-enterprise-redis
      
      # удаляем хранилище Redis-базы данных
      ./init.sh --kubectl delete pvc redis-volume
      
    3. Выполните команду развертывания:

      ./init.sh --update
      

Управление доступом администратора

При первой установке система автоматически генерирует сложный пароль для пользователя admin. Его можно получить с помощью команды:

./init.sh --get-admin-password

Сохраните пароль. Если он будет утерян, его можно сбросить и сгенерировать новый.

Аргументы развертывания

Доступные аргументы скрипта развертывания ./init.sh можно разделить на группы по назначению:

Процесс развертывания

Аргумент Значение по умолчанию Описание
--atomic false Развернуть в виде единой транзакции, которая либо завершается полностью успешно, либо полностью откатывается. При откате Helm удаляет созданные ресурсы, что делает невозможным анализ причины сбоя. При первом развертывании использовать не рекомендуется

Обновление дистрибутива

Аргумент Значение по умолчанию Описание
--update false Обновить дистрибутив с учетом предыдущих параметров развертывания. Перед запуском обновления распакуйте новый дистрибутив поверх старого с заменой файлов. Пример использования: ./init.sh --update

Конфигурация Kubernetes (K3s)

Аргумент Значение по умолчанию Описание
--k3s-install false Установить кластер Kubernetes K3s
--k3s-image-load false Автоматически загрузить Docker-образы DataLens On-premises в K3s кластер (выполняется автоматически при развертывании k3s кластера с использованием флага --k3s-install)
--k3s-external-ip <IP-адрес> Разрешить доступ до K3s кластера через публичный IP-адрес. IP адрес указывается опционально, в случае отсутствия используется глобальный IP-адрес машины
--get-k3s-kubeconfig Получить содержимое файла из переменной KUBECONFIG для удаленного подключения к кластеру

Конфигурация Helm-чарта

Аргумент Значение по умолчанию Описание
--release-name datalens-enterprise Установить имя релиза при развертывании Helm-чарта
--release-namespace datalens-enterprise Установить пространство имен Kubernetes для развертывания
--values <путь_к_файлу> Указать пользовательский файл values.yaml для развертывания Helm-чарта
--values-merge false Объединить частично заполненный пользовательский файл values.yaml с переданными аргументами конфигурации
--no-wait false Не ожидать завершения развертывания Helm-чарта
--deploy-dir ./ Указать директорию для развертывания, если скрипт находится в другой директории. Может быть использовано при отладке или обновлении

Управление Docker-образами

Аргумент Значение по умолчанию Описание
--docker-image-load false Загрузить Docker-образы из tar-файла в локальный Docker
--docker-image-push false Отправить Docker-образы в указанный реестр
--docker-registry <URL_реестра> Указать URL реестра Docker-образов для отправки и последующей загрузки образов при развертывании
--docker-config <путь_к_файлу> Указать файл конфигурации доступа к реестру Docker-образов в формате JSON (подробнее в примере в файле ./help/docker-config.example.json)

Конфигурация сервиса аутентификации и авторизации

Аргумент Значение по умолчанию Описание
--auth-rsa-gen false Сгенерировать новые RSA-ключи для сервиса аутентификации (выполняется автоматически при первом развертывании)
--temporal-rsa-gen false Сгенерировать новые RSA-ключи для сервиса Temporal (выполняется автоматически при первом развертывании)
--auth-providers-config <путь_к_файлу> Указать файл конфигурации провайдеров аутентификации (подробнее в примере в файле ./help/auth-provider-config.example.json)
--get-admin-password Получить пароль администратора для уже развернутого DataLens On-premises

Конфигурация Ingress

Аргумент Значение по умолчанию Описание
--ingress-domain datalens.enterprise Указать домен доступа к DataLens On-premises для Ingress ресурса
--ingress-ip Указать IP-адрес доступа к DataLens On-premises для Ingress ресурса
--ingress-tls false Включить TLS для Ingress ресурса. Заголовки Cookie будут выписываться только при аутентификации по HTTPS
--ingress-tls-gen false Сгенерировать новые самоподписанные TLS-сертификаты для домена. Сертификаты будут сохранены по пути ./certs
--ingress-tls-crt <путь_к_файлу> Указать файл к существующему TLS-сертификату для Ingress ресурса (повторное указание при обновлении не требуется — сертификат будет сохранен в секреты кластера Kubernetes)
--ingress-tls-key <путь_к_файлу> Указать файл TLS-ключа (повторное указание при обновлении не требуется — ключ будет сохранен в секреты кластера Kubernetes)

Самоподписанные корневые сертификаты

Аргумент Значение по умолчанию Описание
--postgres-tls-ca <путь_к_файлу_сертификата> null Указать путь до файла CA сертификата для PostgreSQL
--clickhouse-tls-ca <путь_к_файлу_сертификата> null Указать путь до файла CA сертификата для ClickHouse®
--redis-tls-ca <путь_к_файлу_сертификата> null Указать путь до файла CA сертификата для Redis
--s3-tls-ca <путь_к_файлу_сертификата> null Указать путь до файла CA сертификата для S3

Функциональные возможности

Опция Значение по умолчанию Описание
--yandex-map false Включить интеграцию с Яндекс Картами
--yandex-map-token <токен> Указать токен Яндекс Карт
--usage-tracking false Включить запись пользовательских событий в ClickHouse через Fluent Bit
--editor false Включить Editor и подключение через JSON (API Connector)
--export false Включить возможность импорта/экспорта воркбуков (также включает дополнительные сервисы meta-manager, ui-api, temporal)
--background-exports false Включить возможность фонового экспорта данных в формате CSV и XLSX для табличных чартов
--files false Включить файловые коннекторы (также включает ClickHouse®, Redis, S3)
--compeng-sidecar false Включить PostgreSQL sidecar для движка вычислений
--disable-hc Highcharts библиотека включена (true) Отключить использование библиотеки Highcharts. Если использование библиотеки Highcharts отключено в DataLens On-premises, вместо нее используется библиотека Gravity UI Charts
--disable-demo Демо-данные включены (true) Отключить демо-данные: подключения/датасеты/чарты/дашборды
--disable-postgres Встроенный сервис PostgreSQL включен (true) Отключить встроенный PostgreSQL для использования внешнего кластера
--disable-clickhouse false Отключить встроенный ClickHouse® для использования внешнего кластера
--disable-redis false Отключить встроенный Redis для использования внешнего кластера
--disable-fluent-bit false Отключить сборщик пользовательских событий из логов Fluent Bit
--disable-temporal false Отключить сервис Temporal для выполнения отложенных задач
--disable-s3 false Отключить встроенное S3 хранилище (MinIO)
--cache false Включить кеширование датасетов
--sec-embeds false Включить непубличные встраивания
--auth-cookie-domain http://<домен> false Включить встраивания на корпоративном домене, где http://<домен> — домен, на котором будут разрешены такие встраивания
--auth-disable-wildcard-cookie false Отключить всплытия Cookie на уровне поддоменов
--ai-endpoint <эндпоинт> Указать базовый URL OpenAI-совместимого API
--ai-model-name <имя_модели> Указать идентификатор AI-модели (передается как есть в поле model)
--ai-api-token <API-ключ> Указать API-токен провайдера
--ai-provider_stream true Включить потоковый запрос к AI-провайдеру
--public-api false Включить возможность использования Public API

Управление базой данных PostgreSQL

Опция Значение по умолчанию Описание
--dump-postgres false Создать дамп базы данных PostgreSQL
--restore-postgres <путь_к_файлу> Восстановить базу данных PostgreSQL из указанного файла дампа
--restore-postgres-with-clear false Включить перед восстановлением базы данных PostgreSQL полную предварительную очистку старых объектов в базе данных
--pg false Запустить интерактивную оболочку PostgreSQL
--pg-sql false Запустить SQL-клиент PostgreSQL

Производительность и масштабирование

Опция Значение по умолчанию Описание
--cpu-scale <коэффициент> 1.0 Коэффициент масштабирования CPU-ресурсов для всех компонентов. Можно понизить запрос ресурсов по CPU внутри кластера сразу для всех сервисов, указав значение 0.5.

Инструменты командной строки

Опция Значение по умолчанию Описание
--local-bin false Использовать локальные CLI-инструменты (yq, kubectl, helm, helm-diff, stern) вместо встроенных
--skip-meta-check false Пропустить проверку метаданных и контрольной суммы при развертывании
--stern <аргументы> false Запустить сборщик логов stern для пространства имен по умолчанию
--kubectl <аргументы> false Запустить утилиту kubectl для пространства имен по умолчанию

Описание параметров файла values.yaml для развертывания DataLens On-premises

Файл values.yaml содержит конфигурацию для развертывания DataLens On-premises через Helm-чарты. Доступны следующие параметры:

Примечания

  1. Если использование библиотеки Highcharts отключено в DataLens On-premises, вместо нее используется библиотека Gravity Charts.

  2. После каждого развертывания генерируется файл ./values.debug.yaml с сохранением всех параметров развертывания за исключением секретов. Данный файл может быть полезен для первичной диагностики работы системы при обращении в службу поддержки.

  3. При передаче в URL параметра ?full_login_page=true отображаются все способы аутентификации, доступные по умолчанию.

  4. Для использования функциональности Usage Tracking с внешней ClickHouse® базой данных необходимо создать таблицы в целевом кластере при помощи запроса.

    Запрос
    CREATE TABLE $CLICKHOUSE_DB_USAGE_TRACKING.$CLICKHOUSE_TABLE_USAGE_TRACKING
    ON CLUSTER '{cluster}' (
        event_time DateTime64(9),
        event_date Date,
        source_entry_id String,
        dash_id Nullable(String),
        dash_tab_id Nullable(String),
        chart_id Nullable(String),
        chart_kind Nullable(String),
        response_status_code Nullable(UInt64),
        dataset_id Nullable(String),
        user_id Nullable(String),
        request_id Nullable(String),
        query Nullable(String),
        source Nullable(String),
        connection_id Nullable(String),
        dataset_mode Nullable(String),
        username Nullable(String),
        execution_time Int64,
        status Nullable(String),
        error Nullable(String),
        connection_type Nullable(String),
        host Nullable(String),
        cluster Nullable(String),
        clique_alias Nullable(String),
        cache_used UInt8,
        cache_full_hit UInt8,
        endpoint_code Nullable(String),
        query_type Nullable(String),
        err_code Nullable(String),
        workbook_id Nullable(String)
    ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/$CLICKHOUSE_DB_USAGE_TRACKING.$CLICKHOUSE_TABLE_USAGE_TRACKING', '{replica}')
    PARTITION BY toYYYYMM(event_date)
    ORDER BY (toStartOfHour(event_time), connection_id, dash_id, dataset_id, chart_id, user_id, event_time)
    TTL event_date + toIntervalMonth(6)
    SETTINGS index_granularity = 8192, allow_nullable_key = 1;
    

    Где:

    • $CLICKHOUSE_DB_USAGE_TRACKING — имя базы данных ClickHouse® в вашем кластере.
    • $CLICKHOUSE_TABLE_USAGE_TRACKING — имя таблицы ClickHouse® в вашем кластере.

Конфигурация реестра Docker-образов

registry:
  private: true
  url: ''
Параметр Тип Значение по умолчанию Описание
registry.private boolean true Указывает, является ли реестр Docker-образов закрытым и требуется ли указание файла конфигурации доступа docker-config.json
registry.url string '' URL-адрес реестра Docker-образов для получения образов приложения

Версия релиза

release_version: '25.6.0'
Параметр Тип Значение по умолчанию Описание
release_version string '25.6.0' Версия дистрибутива DataLens On-premises

Конфигурация Ingress ресурса

ingress:
  enabled: true
  domain: datalens.enterprise
  np: false
  tls:
    enabled: false
    secret:
      crt: null
      key: null
Параметр Тип Значение по умолчанию Описание
ingress.enabled boolean true Добавляет развертывание Ingress ресурса в кластере для доступа к приложению
ingress.domain string datalens.enterprise Домен, используемый для доступа к приложению
ingress.ip string null IP-адрес, используемый для доступа к приложению
ingress.np boolean false Использование NodePort конфигурации вместо ClusterIP для UI-сервиса
ingress.tls.enabled boolean false Активация TLS для Ingress ресурса для доступа только по защищенному соединению. Заголовки Cookie будут выписываться только при аутентификации по HTTPS
ingress.tls.secret.crt string null Содержимое TLS-сертификата в формате PEM (подробнее в примере в файле ./help/values.example.yaml)
ingress.tls.secret.key string null Содержимое приватного ключа TLS в формате PEM (подробнее в примере в файле ./help/values.example.yaml)

Инфраструктура

infra:
  postgres:
    enabled: true
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 1Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  clickhouse:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 10Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  redis:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 512Mi
      limits:
        memory: 256Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  s3:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 1Gi
      limits:
        memory: 256Mi
  temporal:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  fluent_bit:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.1
        memory: 128Mi
      limits:
        memory: 128Mi
Параметр Тип Значение по умолчанию Описание
infra.postgres.enabled boolean true Развертывание встроенной базы данных PostgreSQL
infra.postgres.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения PostgreSQL
infra.postgres.resources.requests.cpu string/number 1 Запрашиваемое количество CPU для PostgreSQL
infra.postgres.resources.requests.memory string 512Mi Запрашиваемый объем памяти для PostgreSQL
infra.postgres.resources.requests.storage string 1Gi Запрашиваемый объем хранилища для PostgreSQL
infra.postgres.resources.limits.memory string 1024Mi Ограничение памяти для PostgreSQL
infra.postgres.tls.enabled boolean false Включение TLS для PostgreSQL
infra.postgres.tls.secret.ref string null Ссылка на секрет с TLS сертификатом
infra.postgres.tls.secret.ca string null CA сертификат для PostgreSQL
infra.clickhouse.enabled boolean false Развертывание встроенной базы данных ClickHouse®
infra.clickhouse.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения ClickHouse®
infra.clickhouse.resources.requests.cpu string/number 1 Запрашиваемое количество CPU для ClickHouse®
infra.clickhouse.resources.requests.memory string 512Mi Запрашиваемый объем памяти для ClickHouse®
infra.clickhouse.resources.requests.storage string 10Gi Запрашиваемый объем хранилища для ClickHouse®
infra.clickhouse.resources.limits.memory string 1024Mi Ограничение памяти для ClickHouse®
infra.clickhouse.tls.enabled boolean false Включение TLS для ClickHouse®
infra.clickhouse.tls.secret.ref string null Ссылка на секрет с TLS сертификатом
infra.clickhouse.tls.secret.ca string null CA сертификат для ClickHouse®
infra.redis.enabled boolean false Развертывание встроенного Redis
infra.redis.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения Redis
infra.redis.resources.requests.cpu string/number 0.5 Запрашиваемое количество CPU для Redis
infra.redis.resources.requests.memory string 128Mi Запрашиваемый объем памяти для Redis
infra.redis.resources.requests.storage string 512Mi Запрашиваемый объем хранилища для Redis
infra.redis.resources.limits.memory string 256Mi Ограничение памяти для Redis
infra.redis.tls.enabled boolean false Включение TLS для Redis
infra.redis.tls.secret.ref string null Ссылка на секрет с TLS сертификатом
infra.redis.tls.secret.ca string null CA сертификат для Redis
infra.s3.enabled boolean false Развертывание встроенного S3 (MinIO)
infra.s3.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения S3
infra.s3.resources.requests.cpu string/number 0.5 Запрашиваемое количество CPU для S3
infra.s3.resources.requests.memory string 128Mi Запрашиваемый объем памяти для S3
infra.s3.resources.requests.storage string 1Gi Запрашиваемый объем хранилища для S3
infra.s3.resources.limits.memory string 256Mi Ограничение памяти для S3
infra.s3.tls.enabled boolean false Включение TLS для S3
infra.s3.tls.secret.ca string null CA сертификат для S3
infra.temporal.enabled boolean false Развертывание сервиса Temporal
infra.temporal.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения сервиса Temporal
infra.temporal.resources.requests.cpu string/number 0.5 Запрашиваемое количество CPU для Temporal
infra.temporal.resources.requests.memory string 256Mi Запрашиваемый объем памяти для Temporal
infra.temporal.resources.limits.memory string 512Mi Ограничение памяти для Temporal
infra.fluent_bit.enabled boolean false Развертывание сборщика пользовательских событий Fluent Bit
infra.fluent_bit.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения Fluent Bit
infra.fluent_bit.resources.requests.cpu string/number 0.1 Запрашиваемое количество CPU для Fluent Bit
infra.fluent_bit.resources.requests.memory string 128Mi Запрашиваемый объем памяти для Fluent Bit
infra.fluent_bit.resources.limits.memory string 128Mi Ограничение памяти для Fluent Bit

С помощью параметра extra_envs можно переопределить/дополнить переменные окружения. Например, для PostgreSQL:

  postgres:
    enabled: true
    extra_envs:
      - name: MY_VAR
        value: test123
      - name: MY_VAR_SECRET
        valueFrom:
          secretKeyRef:
            name: test-secret
            key: test-secret-key

Конфигурация приложения

application:
  control_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi
  data_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi
  ui:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  ui_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  us:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  auth:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  meta_manager:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_secure_reader:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_uploader_worker:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_uploader_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 256Mi
      limits:
        memory: 512Mi

Каждый компонент приложения имеет следующие параметры:

Параметр Тип Значение по умолчанию (varies) Описание
application.<компонент>.replicas number 1 Количество реплик для компонента
application.<компонент>.version string varies Версия компонента
application.<компонент>.maxSurge string/number 50% Максимальное количество дополнительных подов при обновлении
application.<компонент>.maxUnavailable string/number 0 Максимальное количество удаляемых подов при обновлении
application.<компонент>.resources.requests.cpu string/number varies Запрашиваемое количество CPU для компонента
application.<компонент>.resources.requests.memory string varies Запрашиваемый объем памяти для компонента
application.<компонент>.resources.limits.memory string varies Ограничение памяти для компонента
application.<компонент>.extra_envs list [] Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения компонента приложения

Доступные компоненты приложения:

  • control_api — сервис управления подключениями и датасетами.
  • data_api — сервис обработки запросов к источникам.
  • ui — пользовательский интерфейс.
  • ui_api — служебный сервис для приватного API дашбордов и чартов.
  • us — сервис United Storage для управления хранением всех данных работы системы.
  • auth — сервис аутентификации.
  • meta_manager — менеджер обработки отложенных задач.
  • file_secure_reader — сервис безопасного чтения файлов.
  • file_uploader_worker — сервис загрузки и обработки файлов.
  • file_uploader_api — сервис для API загрузки файлов.

С помощью параметра extra_envs можно переопределить или дополнить переменные окружения компонента приложения. Например, для компонента control_api:

application:
  control_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs:
      - name: MY_VAR
        value: test123
      - name: MY_VAR_SECRET
        valueFrom:
          secretKeyRef:
            name: test-secret
            key: test-secret-key
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi

Секреты

secrets:
  ref: null
  #
  AUTH_TOKEN_PRIVATE_KEY: null
  AUTH_TOKEN_PUBLIC_KEY: null
  AUTH_PROVIDERS_CONFIG: null
  AUTH_ADMIN_PASSWORD: null
  AUTH_CALLBACK_COOKIE_SECRET: null
  #
  CSRF_SECRET: null
  #
  AUTH_MASTER_TOKEN: null
  US_MASTER_TOKEN: null
  FILE_UPLOADER_MASTER_TOKEN: null
  EXPORT_DATA_VERIFICATION_KEY: null
  #
  CONTROL_API_CRYPTO_KEY: null
  #
  DOCKER_CONFIG_JSON: null
  #
  POSTGRES_PASSWORD_ROOT: null
  POSTGRES_PASSWORD_US: null
  POSTGRES_PASSWORD_COMPENG: null
  POSTGRES_PASSWORD_AUTH: null
  POSTGRES_PASSWORD_TEMPORAL: null
  POSTGRES_PASSWORD_META_MANAGER: null
  POSTGRES_PASSWORD_DEMO: null
  #
  TEMPORAL_AUTH_PRIVATE_KEY: null
  TEMPORAL_AUTH_PUBLIC_KEY: null
  #
  CLICKHOUSE_PASSWORD: null
  #
  REDIS_PASSWORD: null
  #
  S3_ACCESS_KEY_ID: null
  S3_SECRET_ACCESS_KEY: null
Параметр Тип Значение по умолчанию Описание
secrets.ref string null Ссылка на внешний секрет Kubernetes
secrets.AUTH_TOKEN_PRIVATE_KEY string null Приватный ключ RSA для подписи токенов аутентификации
secrets.AUTH_TOKEN_PUBLIC_KEY string null Публичный ключ RSA для проверки токенов аутентификации
secrets.AUTH_PROVIDERS_CONFIG string null Конфигурация провайдеров аутентификации в формате JSON
secrets.AUTH_ADMIN_PASSWORD string null Пароль администратора
secrets.AUTH_CALLBACK_COOKIE_SECRET string null Ключ шифрования Cookie для аутентификации
secrets.CSRF_SECRET string null Ключ шифрования CSRF-токена
secrets.AUTH_MASTER_TOKEN string null Мастер-токен для сервиса аутентификации
secrets.US_MASTER_TOKEN string null Мастер-токен для сервиса хранения мета-информации
secrets.FILE_UPLOADER_MASTER_TOKEN string null Мастер-токен для сервиса загрузки файлов
secrets.EXPORT_DATA_VERIFICATION_KEY string null Ключ проверки целостности для импорта/экспорта воркбуков
secrets.CONTROL_API_CRYPTO_KEY string null Ключ шифрования для подключений
secrets.DOCKER_CONFIG_JSON string null Конфигурация доступа к реестру docker-образов в формате JSON
secrets.POSTGRES_PASSWORD_ROOT string null Пароль root пользователя PostgreSQL
secrets.POSTGRES_PASSWORD_US string null Пароль для базы данных сервиса мета-информации
secrets.POSTGRES_PASSWORD_COMPENG string null Пароль для базы данных движка вычислений
secrets.POSTGRES_PASSWORD_AUTH string null Пароль для базы данных сервиса аутентификации
secrets.POSTGRES_PASSWORD_TEMPORAL string null Пароль для базы данных Temporal
secrets.POSTGRES_PASSWORD_META_MANAGER string null Пароль для базы данных сервиса meta-manager
secrets.POSTGRES_PASSWORD_DEMO string null Пароль для базы данных демо-данных
secrets.TEMPORAL_AUTH_PRIVATE_KEY string null Приватный ключ RSA для аутентификации Temporal
secrets.TEMPORAL_AUTH_PUBLIC_KEY string null Публичный ключ RSA для аутентификации Temporal
secrets.CLICKHOUSE_PASSWORD string null Пароль для ClickHouse®
secrets.REDIS_PASSWORD string null Пароль для Redis
secrets.S3_ACCESS_KEY_ID string null Ключ доступа Access Key ID для S3
secrets.S3_SECRET_ACCESS_KEY string null Ключ доступа Secret Access Key для S3

Конфигурация PostgreSQL

postgres:
  POSTGRES_HOST: postgres-cip
  POSTGRES_PORT: '5432'
  POSTGRES_USER_AUTH: pg-auth-user
  POSTGRES_DB_AUTH: pg-auth-db
  POSTGRES_USER_COMPENG: pg-compeng-user
  POSTGRES_DB_COMPENG: pg-compeng-db
  POSTGRES_USER_US: pg-us-user
  POSTGRES_DB_US: pg-us-db
  POSTGRES_USER_META_MANAGER: pg-meta-manager-user
  POSTGRES_DB_META_MANAGER: pg-meta-manager-db
  POSTGRES_USER_DEMO: pg-demo-user
  POSTGRES_DB_DEMO: pg-demo-db
  POSTGRES_USER_TEMPORAL: pg-temporal-user
  POSTGRES_DB_TEMPORAL: pg-temporal-db
  POSTGRES_DB_TEMPORAL_VISIBILITY: pg-temporal-visibility-db
Параметр Тип Значение по умолчанию Описание
postgres.POSTGRES_HOST string postgres-cip Хост PostgreSQL
postgres.POSTGRES_PORT string '5432' Порт PostgreSQL
postgres.POSTGRES_USER_AUTH string pg-auth-user Пользователь для БД сервиса аутентификации
postgres.POSTGRES_DB_AUTH string pg-auth-db Имя БД сервиса аутентификации
postgres.POSTGRES_USER_COMPENG string pg-compeng-user Пользователь для БД движка вычислений
postgres.POSTGRES_DB_COMPENG string pg-compeng-db Имя БД движка вычислений
postgres.POSTGRES_USER_US string pg-us-user Пользователь для БД сервиса мета-информации
postgres.POSTGRES_DB_US string pg-us-db Имя БД сервиса мета-информации
postgres.POSTGRES_USER_META_MANAGER string pg-meta-manager-user Пользователь для БД Meta Manager
postgres.POSTGRES_DB_META_MANAGER string pg-meta-manager-db Имя БД Meta Manager
postgres.POSTGRES_USER_DEMO string pg-demo-user Пользователь для БД демо-данных
postgres.POSTGRES_DB_DEMO string pg-demo-db Имя БД демо-данных
postgres.POSTGRES_USER_TEMPORAL string pg-temporal-user Пользователь для БД Temporal
postgres.POSTGRES_DB_TEMPORAL string pg-temporal-db Имя БД Temporal
postgres.POSTGRES_DB_TEMPORAL_VISIBILITY string pg-temporal-visibility-db Имя служебной БД для построения индексов для Temporal

Конфигурация ClickHouse®

clickhouse:
  CLICKHOUSE_HOST: clickhouse-cip
  CLICKHOUSE_PORT: '8123'
  CLICKHOUSE_USER: ch-user
  CLICKHOUSE_DB_USAGE_TRACKING: ch-usage-tracking-db
  CLICKHOUSE_TABLE_USAGE_TRACKING: ch-usage-tracking-table
Параметр Тип Значение по умолчанию Описание
clickhouse.CLICKHOUSE_HOST string clickhouse-cip Хост ClickHouse®
clickhouse.CLICKHOUSE_PORT string '8123' Порт ClickHouse®
clickhouse.CLICKHOUSE_USER string ch-user Пользователь ClickHouse®
clickhouse.CLICKHOUSE_DB_USAGE_TRACKING string ch-usage-tracking-db Имя БД для хранения пользовательских событий
clickhouse.CLICKHOUSE_TABLE_USAGE_TRACKING string ch-usage-tracking-table Имя таблицы для хранения пользовательских событий

Конфигурация Redis

redis:
  REDIS_HOSTS:
    - redis-cip
  REDIS_PORT: '6379'
  REDIS_CLUSTER_NAME: null
  REDIS_DB_CACHE_DATA: '0'
  REDIS_DB_CACHE_MUTATIONS: '1'
  REDIS_DB_FILE_API: '9'
  REDIS_DB_FILE_WORKER: '11'
Параметр Тип Значение по умолчанию Описание
redis.REDIS_HOSTS list(string) redis-cip Хосты Redis
redis.REDIS_PORT string '6379' Порт Redis
redis.REDIS_CLUSTER_NAME string null Имя кластера Redis
redis.REDIS_DB_CACHE_DATA string '0' БД Redis с кешем данных
redis.REDIS_DB_CACHE_MUTATIONS string '1' БД Redis с кешем датасетов
redis.REDIS_DB_FILE_API string '9' БД Redis для хранения метаданных при обработке загружаемых файлов
redis.REDIS_DB_FILE_WORKER string '11' БД Redis для очереди задач file-uploader-worker

Конфигурация S3

s3:
  S3_ENDPOINT: http://s3-cip:9000
  S3_BUCKET_TEMPORARY: dl-file-uploader-tmp
  S3_BUCKET_PERSISTENT: dl-file-uploader
Параметр Тип Значение по умолчанию Описание
s3.S3_ENDPOINT string http://s3-cip:9000 Адрес доступа к S3 хранилищу
s3.S3_BUCKET_TEMPORARY string dl-file-uploader-tmp Имя бакета для хранения временных файлов
s3.S3_BUCKET_PERSISTENT string dl-file-uploader Имя бакета для хранения загруженных файлов для файловых подключений

Конфигурация Temporal

temporal:
  TEMPORAL_ENDPOINT: temporal-cip:7233
Параметр Тип Значение по умолчанию Описание
temporal.TEMPORAL_ENDPOINT string temporal-cip:7233 Адрес сервиса Temporal

Доступные коннекторы

visible_connectors:
  - clickhouse
  - postgres
  - chyt
  - ydb
  - mysql
  - greenplum
  - mssql
  - oracle
  - trino
  - metrika_api
  - appmetrica_api
Параметр Тип Значение по умолчанию Описание
visible_connectors array (список) Список коннекторов к базам данных, доступных в интерфейсе

Функциональные возможности

features:
  auth:
    enabled: true
    local: true
    skip_local: false
    force_redirect_open_id: false
  meta_manager:
    enabled: false
  ui_api:
    enabled: false
  demo:
    enabled: true
  hc:
    enabled: true
    endpoint: ''
    protocol: ''
  yandex_map:
    enabled: false
    token: ''
  editor:
    enabled: false
  export:
    enabled: false
  background_exports:
    enabled: false
  compeng_sidecar:
    enabled: false
  usage_tracking:
    enabled: false
  files:
    enabled: false
  cache:
    enabled: false
  sec_embeds:
    enabled: false
  auth_cookie:
    enabled: false
    domain: ''
  ai:
    enabled: false
    api_token: ''
    model_name: ''
    endpoint: ''
    model_context_window_size: ''
    extra_headers: ''
    provider_stream: true
  public_api:
    enabled: false

Параметр Тип Значение по умолчанию Описание
features.auth.enabled boolean true Включение сервиса аутентификации
features.auth.local boolean true Включение локальных пользователей. При отключении вход в систему возможен только через пользователей внешних IdP-провайдеров
features.auth.skip_local boolean false Пропускает (не отключает) шаг локального входа. Если IdP-провайдеры не указаны (пустой массив в конфигурации), этот параметр не оказывает влияния
features.auth.force_redirect_open_id boolean false Перенаправляет на OpenID-авторизацию, если параметр features.auth.skip_local имеет значение true, отсутствует LDAP-провайдер и указан только один OpenID-провайдер
features.meta_manager.enabled boolean false Включение сервиса meta-manager для обработки отложенных задач
features.ui_api.enabled boolean false Включение ui-api сервиса
features.demo.enabled boolean true Включение развертывания демо-данных
features.hc.enabled boolean true Включение использования библиотеки Highcharts
features.hc.endpoint string '' Хост и порт для скачивания ресурсов библиотеки Highcharts
features.hc.protocol string '' Протокол для скачивания ресурсов библиотеки Highcharts http/https
features.yandex_map.enabled boolean false Включение интеграции с Яндекс Картами
features.yandex_map.token string '' Токен для Яндекс Карт
features.editor.enabled boolean false Включение Editor и JSON (API Connector)
features.export.enabled boolean false Включение возможности импорта/экспорта воркбуков
features.background_exports.enabled boolean false Включение возможности фонового экспорта данных в формате CSV и XLSX для табличных чартов
features.compeng_sidecar.enabled boolean false Развертывание БД PostgreSQL для вычислений в виде sidecar
features.usage_tracking.enabled boolean false Включение возможности отслеживания пользовательских событий
features.cache.enabled boolean false Включение кеширования данных запросов и метаданных датасетов
features.sec_embeds.enabled boolean false Включение непубличного встраивания объектов
features.auth_cookie.enabled boolean false Включение встраивания объектов на корпоративном домене
features.auth_cookie.domain string '' Корпоративный домен для встраивания объектов на корпоративном домене, в формате http://<домен>
features.ai.enabled boolean false Включает использование AI, если заполнены следующие три переменные 1
features.ai.api_token string '' API-токен провайдера
features.ai.model_name string '' Идентификатор модели (передается как есть в поле model)
features.ai.endpoint string '' Базовый URL OpenAI-совместимого API
features.ai.model_context_window_size string '' (опционально) Размер контекстного окна в токенах (по умолчанию 128 000)
features.ai.extra_headers string '' (опционально) Дополнительные HTTP-заголовки (только сервер, в браузер не попадают)
features.ai.provider_stream boolean true Включение потокового запроса к AI-провайдеру
features.public_api.enabled boolean false Включить возможность использования Public API

1 Если в инсталляции включена аутентификация, Нейроаналитик передает AI-провайдеру технические заголовки с данными пользователя:

  • x-dl-user-id — доверенный идентификатор пользователя;
  • x-dl-user-login — логин пользователя (отправляется, если удалось его получить, иначе запрос уходит с одним x-dl-user-id).

Если аутентификация отключена (AUTH_ENABLED=false), инсталляция остается анонимной — заголовки x-dl-user-id и x-dl-user-login не отправляются. Применяется ко всем AI-вызовам, включая fallback-провайдер. Значения x-dl-user-id и x-dl-user-login, заданные через AI_EXTRA_HEADERS, игнорируются — эти заголовки зарезервированы системой и не могут быть переопределены пользовательской конфигурацией.

Конфигурация системы

config:
  cpu_request_scale: 1.0
Параметр Тип Значение по умолчанию Описание
config.cpu_request_scale number 1.0 Коэффициент масштабирования CPU-ресурсов для всех компонентов

Контрольная сумма

checksum: null
Параметр Тип Значение по умолчанию Описание
checksum string null Контрольная сумма дистрибутива для проверки целостности (заполняется автоматически)

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Предыдущая
Следующая