Установка и запуск DataLens Enterprise

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

  1. Доступные операционные системы:

    • Ubuntu 20.04/22.04/24.04;
    • Debian 10/11/12;
    • CentOS 7;
    • Astra Linux 1.7;
    • Oracle Linux 8/9;
    • RedHat Linux 8/9;
    • CentOS Stream 8/9.

    Примечание

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

  2. Минимальные системные требования для развертывания:

    • vCPU — 8;
    • RAM — 16 ГБ;
    • SSD — 40 ГБ.
  3. Требования к кластеру Managed Service for PostgreSQL:

    Примечание

    Рекомендуется использовать отдельный кластер Managed Service for PostgreSQL в отказоустойчивой конфигурации (мастер + 1 реплика).

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

      • vCPU — 4;
      • RAM — 8 ГБ;
      • SSD — 100 ГБ.
    • При развертывании кластера для высокой нагрузки нужно рассчитать потребление ресурсов в зависимости от числа пользователей.

    • Расширения базы данных PostgreSQL для сервиса United Storage устанавливаются автоматически, если у пользователя есть соответствующие права:

      • pg_trgm;
      • btree_gin;
      • btree_gist;
      • uuid-ossp.
    • При развертывании кластера БД Managed Service for PostgreSQL в Yandex Cloud для сервиса United Storage:

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

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

  1. Скачайте архив с дистрибутивом DataLens Enterprise по предоставленной ссылке любым способом, например:

     URL="..."
             curl -L -o datalens-enterprise.tar "${URL}"
            
  2. Распакуйте дистрибутив в директорию datalens-enterprise:

     mkdir -p ./datalens-enterprise && tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
            
  3. Перейдите в директорию с дистрибутивом:

    cd ./datalens-enterprise
            

    Если развертывание выполняется на удаленной виртуальной машине, то для удобства можно сразу выполнить все команды:

    URL="..."
            curl -L "${URL}" -o datalens-enterprise.tar
            mkdir -p ./datalens-enterprise && tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
            cd ./datalens-enterprise
            
  4. Развертывание дистрибутива происходит с помощью скрипта ./init.sh, который находится в корне архива. Скрипт позволяет развернуть DataLens Enterprise в существующем кластере Kubernetes. Если кластера Kubernetes нет, скрипт также может развернуть его на виртуальной машине.

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

    Пример использования скрипта:

    ./init.sh [аргументы]
            

    Особенности работы скрипта:

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

    • При запуске с аргументом --k3s-install K3s кластер Kubernetes устанавливается автоматически, без доступа к публичной сети.

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

    • Используйте аргумент --values, чтобы задать пользовательский файл values.yaml для переопределения параметров развертывания Helm-чарта и более точечной настройки окружения.

      Примечание

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

    • Если перед выполнением скрипта задать переменную окружения KUBECONFIG, скрипт подключится к уже существующему кластеру Kubernetes для развертывания.

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

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

Особенности развертывания на Oracle Linux

Для запуска K3s кластера Kubernetes на Oracle Linux 8/9 необходимо либо полностью отключить firewalld, либо настроить необходимые правила для корректной работы сети Kubernetes.

Примечание

При развертывании дистрибутива через скрипт ./init.sh с установкой K3s кластера Kubernetes правила для Oracle Linux будут применены в автоматическом режиме.

sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
        sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1
        sudo firewall-cmd --reload
        

Основные порты, используемые для работы K3s:

Диапазон портов Протокол Описание
6443 TCP Основной API-сервер Kubernetes (master)
2379-2380 TCP Etcd (при многомастерной установке)
10250 TCP Kubelet API
8472 UDP VXLAN (flannel сеть, если используется)
30000-32767 TCP Диапазон портов для NodePort-сервисов

Примеры для firewalld:

sudo systemctl stop firewalld
        sudo systemctl disable firewalld
        

Добавьте правила для нужных портов или для сетевых интерфейсов:

# traffic between k8s pod network subnets
        sudo firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16
        sudo firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16
        # or
        sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
        sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1
        
        
        # k8s api server access for all nodes (optional)
        sudo firewall-cmd --permanent --add-port=6443/tcp
        # client requests to etcd and peer communication between etcd members (optional)
        sudo firewall-cmd --permanent --add-port=2379-2380/tcp
        # kubelet api port on each node (optional)
        sudo firewall-cmd --permanent --add-port=10250/tcp
        # flannel vxlan pod network communication (optional)
        sudo firewall-cmd --permanent --add-port=8472/udp
        # node port external traffic (optional)
        sudo firewall-cmd --permanent --add-port=30000-32767/tcp
        
        sudo firewall-cmd --reload
        

Если файрвол не мешает работе, предпочтительнее настроить только необходимые порты вместо полного его отключения. Это поможет сохранить базовую безопасность системы при допустимых настройках для Kubernetes.

Доступные аргументы развертывания

Доступные аргументы скрипта развертывания с примерами для типовых конфигураций:

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

Аргумент Значение по умолчанию Описание
--k3s-install false Установить кластер Kubernetes K3s
--k3s-image-load false Автоматически загрузить Docker-образы DataLens Enterprise в 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 <file> Указать пользовательский файл 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 <registry url> Указать URL реестра Docker-образов для отправки и последующей загрузки образов при развертывании
--docker-config <file> Указать файл конфигурации доступа к реестру Docker-образов в формате JSON (см. пример в файле ./help/docker-config.example.json)

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

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

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

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

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

Опция Значение по умолчанию Описание
--yandex-map false Включить интеграцию с Яндекс Картами
--yandex-map-token <token> Указать токен Яндекс Карт
--usage-tracking false Включить запись пользовательских событий в ClickHouse через Fluent Bit
--editor false Включить Editor и подключение через JSON (API Connector)
--export false Включить функционал импорта/экспорта воркбуков (также включает дополнительные сервисы meta-manager, ui-api, temporal)
--files false Включить файловые коннекторы (также включает ClickHouse®, Redis, S3)
--compeng-sidecar false ключить PostgreSQL sidecar для движка вычислений
--disable-hc Highcharts библиотека включена (true) Отключить использование библиотеки Highcharts. Если использование библиотеки Highcharts отключено в DataLens Enterprise, вместо нее используется библиотека 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 Включить кеширование датасетов

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

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

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

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

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

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

Примеры типовых команд развертывания

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

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

    ./init.sh \
            --k3s-install \
            --ingress-domain <domain> \
            --ingress-tls-crt <crt-file> \
            --ingress-tls-key <key-file>
            
  • Зеркалирование образов в приватный реестр Docker-образов:

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

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

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

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

Примеры вспомогательных команд

  • Получение всех логов со всех подов DataLens для отладки:

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

    ./init.sh --kubectl events
            

Описание всех параметров файла values.yaml

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

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

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

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

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

Конфигурация 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
            resources:
              requests:
                cpu: 1
                memory: 512Mi
                storage: 1Gi
              limits:
                memory: 1024Mi
            tls:
              enabled: false
              secret:
                ref: null
                ca: null
          clickhouse:
            enabled: false
            resources:
              requests:
                cpu: 1
                memory: 512Mi
                storage: 10Gi
              limits:
                memory: 1024Mi
            tls:
              enabled: false
              secret:
                ref: null
                ca: null
          redis:
            enabled: false
            resources:
              requests:
                cpu: 0.5
                memory: 128Mi
                storage: 512Mi
              limits:
                memory: 256Mi
            tls:
              enabled: false
              secret:
                ref: null
                ca: null
          s3:
            enabled: false
            resources:
              requests:
                cpu: 0.5
                memory: 128Mi
                storage: 1Gi
              limits:
                memory: 256Mi
          temporal:
            enabled: false
            resources:
              requests:
                cpu: 0.5
                memory: 256Mi
              limits:
                memory: 512Mi
          fluent_bit:
            enabled: false
            resources:
              requests:
                cpu: 0.1
                memory: 128Mi
              limits:
                memory: 128Mi
        
Параметр Тип Значение по умолчанию Описание
infra.postgres.enabled boolean true Развертывание встроенной базы данных 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.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.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.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.temporal.enabled boolean false Развертывание сервиса 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.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

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

application:
          control_api:
            replicas: 1
            version: '...'
            maxSurge: 50%
            maxUnavailable: 0
            resources:
              requests:
                cpu: 1
                memory: 2048Mi
              limits:
                memory: 4096Mi
          data_api:
            replicas: 1
            version: '...'
            maxSurge: 50%
            maxUnavailable: 0
            resources:
              requests:
                cpu: 1
                memory: 2048Mi
              limits:
                memory: 4096Mi
          ui:
            replicas: 1
            version: '...'
            maxSurge: 50%
            maxUnavailable: 0
            resources:
              requests:
                cpu: 1
                memory: 512Mi
              limits:
                memory: 1024Mi
          us:
            replicas: 1
            version: '...'
            maxSurge: 50%
            maxUnavailable: 0
            resources:
              requests:
                cpu: 1
                memory: 512Mi
              limits:
                memory: 1024Mi
          auth:
            replicas: 1
            version: '...'
            maxSurge: 50%
            maxUnavailable: 0
            resources:
              requests:
                cpu: 1
                memory: 512Mi
              limits:
                memory: 1024Mi
        

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

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

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

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

Секреты

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
          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
          compeng_sidecar:
            enabled: false
          usage_tracking:
            enabled: false
          files:
            enabled: false
          cache:
            enabled: false
        
Параметр Тип Значение по умолчанию Описание
features.auth.enabled boolean true Включение сервиса аутентификации
features.auth.local boolean true Включение локальных пользователей. При отключении вход в систему возможен только через пользователей внешних IdP провайдеров
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.compeng_sidecar.enabled boolean false Развертывание БД PostgreSQL для вычислений в виде sidecar
features.usage_tracking.enabled boolean false Включение функционала отслеживания пользовательских событий
features.files.enabled boolean false Включение файловых коннекторов и сервисов загрузки файлов
features.cache.enabled boolean false Включение кеширования данных запросов и метаданных датасетов

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

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

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

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

Примечания

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

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

  3. Для использования функционала 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)
        SETTINGS index_granularity = 8192, allow_nullable_key = 1;
        CREATE TABLE $CLICKHOUSE_DB_USAGE_TRACKING.`us_entries`
        (
            encoded_entry_id String,
            display_key String,
            updated_at DateTime
        ) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/$CLICKHOUSE_DB_USAGE_TRACKING.us_entries', '{replica}')
        ORDER BY encoded_entry_id
        SETTINGS index_granularity = 8192;
        

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