Установка и запуск DataLens Enterprise
- Системные требования
- Развертывание DataLens Enterprise
- Доступные аргументы развертывания
- Конфигурация Kubernetes (K3s)
- Конфигурация Helm-чарта
- Управление Docker-образами
- Конфигурация сервиса аутентификации и авторизации
- Конфигурация Ingress
- Функциональные возможности
- Управление базой данных PostgreSQL
- Производительность и масштабирование
- Инструменты командной строки
- Примеры типовых команд развертывания
- Примеры вспомогательных команд
- Описание всех параметров файла values.yaml
- Конфигурация реестра Docker-образов
- Версия релиза
- Конфигурация Ingress ресурса
- Инфраструктура
- Конфигурация приложения
- Секреты
- Конфигурация PostgreSQL
- Конфигурация ClickHouse®
- Конфигурация Redis
- Конфигурация S3
- Конфигурация Temporal
- Доступные коннекторы
- Функциональные возможности
- Конфигурация системы
- Контрольная сумма
- Примечания
Системные требования
-
Доступные операционные системы:
- 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.
-
Минимальные системные требования для развертывания:
- vCPU — 8;
- RAM — 16 ГБ;
- SSD — 40 ГБ.
-
Требования к кластеру 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
-
Скачайте архив с дистрибутивом DataLens Enterprise по предоставленной ссылке любым способом, например:
URL="..." curl -L -o datalens-enterprise.tar "${URL}" -
Распакуйте дистрибутив в директорию
datalens-enterprise:mkdir -p ./datalens-enterprise && tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise -
Перейдите в директорию с дистрибутивом:
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 -
Развертывание дистрибутива происходит с помощью скрипта
./init.sh, который находится в корне архива. Скрипт позволяет развернуть DataLens Enterprise в существующем кластере Kubernetes. Если кластера Kubernetes нет, скрипт также может развернуть его на виртуальной машине.Развертывание можно выполнить с сервера linux/amd64, на котором будет происходить установка. Также можно выполнить развертывание с удаленной машины, имеющей доступ к кластеру Kubernetes на linux/amd64 или mac/arm64.
Пример использования скрипта:
./init.sh [аргументы]Особенности работы скрипта:
-
Скрипт каждый раз проверяет целостность дистрибутива, верифицируя контрольные суммы, и сохраняет итоговые значения в переменные развертывания.
-
При запуске с аргументом
--k3s-installK3s кластер 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-образов
- Версия релиза
- Конфигурация Ingress ресурса
- Инфраструктура
- Конфигурация приложения
- Секреты
- Конфигурация PostgreSQL
- Видимые коннекторы
- Функциональные возможности
- Контрольная сумма
Конфигурация реестра 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 |
Контрольная сумма дистрибутива для проверки целостности (заполняется автоматически) |
Примечания
-
Если использование библиотеки Highcharts отключено в DataLens Enterprise, вместо нее используется библиотека Gravity Charts.
-
После каждого развертывания генерируется файл
./values.debug.yamlс сохранением всех параметров развертывания за исключением секретов. Данный файл может быть полезен для первичной диагностики работы системы при обращении в службу поддержки. -
Для использования функционала 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® в вашем кластере.