Базовая установка для быстрого старта и тестового окружения

Базовая установка на виртуальную машину

Примечание

Ниже — пример развертывания базовой конфигурации.

  1. Перейдите по ссылке для скачивания.

  2. Выберите актуальную версию дистрибутива.

  3. Ознакомьтесь с лицензионным соглашением и нажмите Продолжить.

    image

  4. Скопируйте предоставленную ссылку.

  5. На целевой ВМ или сервере выполните команду, подставив ссылку:

    curl -L https://clck.ru/<...> -o datalens-enterprise.tar
    
  6. Создайте директорию и распакуйте в нее архив:

    mkdir -p ./datalens-enterprise
    tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
    
  7. Перейдите в созданную директорию. Дальнейшая работа будет вестись из нее.

    cd ./datalens-enterprise
    

Запуск дистрибутива

  1. Убедитесь, что вы находитесь в папке с дистрибутивом — ./datalens-enterprise.

  2. Выполните команду установки с помощью домена datalens-course.local.

    Основной инструмент для управления установкой — скрипт ./init.sh. Для базовой установки на «чистую» ВМ нужно передать ему ключи:

    • --k3s-install — указывает скрипту установить локальный легковесный Kubernetes-дистрибутив K3s.
    • --ingress-domain <domain> — задает доменное имя, по которому будет доступен DataLens. Например, datalens-course.local. Также можно использовать автоматическую настройку DNS с помощью nip: для этого укажите IP-адрес вашей машины и добавьте .nip.io, например 192.168.10.2.nip.io.
    • --ingress-tls и --ingress-tls-gen — включают HTTPS и автоматически генерируют самоподписанный SSL-сертификат для указанного домена.
    # Замените <domain> на ваш домен, для теста подойдет datalens-course.local или IP-адрес виртуальной машины + .nip.io
    # Команду нужно выполнять из папки с дистрибутивом ./datalens-enterprise
    ./init.sh \
    --k3s-install \
    --ingress-domain datalens-course.local \
    --ingress-tls \
    --ingress-tls-gen
    

    Этот процесс займет несколько минут. Скрипт установит K3s, загрузит в него Docker-образы и развернет все компоненты DataLens.

  3. Дождитесь завершения установки. В конце вы увидите сообщение об успешном развертывании релиза.

  4. При использовании домена .local добавьте строку <IP-адрес-ВМ> datalens-course.local в файл /etc/hosts на локальном компьютере — это нужно, чтобы браузер мог найти сервер.

  5. Затем зайдите в интерфейс по адресу https://datalens-course.local. Примите риск, так как сертификат самоподписанный, и войдите в систему с логином admin и полученным паролем (команда для его получения приведена ниже).

Чтобы изменить параметры установки (например, добавить возможность скачивания файлов --files), не нужно заново скачивать дистрибутив — просто повторно запустите скрипт ./init.sh с параметрами. Параметр --k3s-install повторно указывать необязательно, так как кластер K3s уже создан.

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

Для обновления достаточно распаковать новую версию поверх старой и снова выполнить инициализацию. Строку инициализации можно оставить без изменений, но добавить параметр --k3s-image-load. Параметр --k3s-install при повторной инициализации указывать необязательно, так как кластер K3s уже создан.

Получение доступа администратора

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

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

Если пароль будет утерян, его можно получить этой же командой.

Управление ключами и секретами

DataLens использует эти типы ключей:

  • RSA-ключи для сервиса аутентификации.
    Приватный ключ используется для подписи пользовательских токенов, публичный — для их проверки. Ключи создаются автоматически при первой установке. При необходимости их можно перегенерировать с помощью флага --auth-rsa-gen.

  • CONTROL_API_CRYPTO_KEY
    Ключ служит для шифрования чувствительных данных (паролей или токенов) в полях подключений. Генерируется и сохраняется автоматически. Если этот ключ будет утерян, DataLens не сможет расшифровать реквизиты существующих подключений. В этом случае нужно сбросить ключ шифрования и заново ввести все пароли.

    # Сброс ключа шифрования CONTROL_API_CRYPTO_KEY
    ./init.sh --pg /init/us-restore.sh --reset-crypto-key
    

Управлять этими ключами вручную при базовой установке не нужно, но важно знать их назначение.

Дополнительные функции

Некоторые функции в DataLens включаются отдельно, чтобы базовая установка потребляла минимум ресурсов.

Чтобы включить дополнительные функции (Editor или файловые подключения), следуйте указаниям в файле README.md и добавьте в строку инициализации флаги --editor и --files. Результат:

./init.sh --ingress-domain <domain> --ingress-tls --ingress-tls-gen --editor --files

Зеркалирование Docker-образов

Если ВМ без доступа к интернету, но у вас есть внутренний Docker Registry (например, Harbor, Nexus, Yandex Container Registry), предварительно загрузите туда образы из дистрибутива с помощью команды:

# docker-config.json — файл с реквизитами доступа к registry
# registry.my-company.tech — адрес registry
./init.sh \
--docker-image-load \
--docker-image-push \
--docker-registry registry.my-company.tech \
--docker-config ./help/docker-config.example.json

При установке на целевой системе укажите этот registry, чтобы Kubernetes скачивал образы из него, а не из локального хранилища.

Структура дистрибутива

Важно

Скрипт ./init.sh — это единая точка входа для развертывания дистрибутива и выполнения вспомогательных скриптов.

Внутри скрипта используются стандартные команды утилит kubectl и helm (менеджер пакетов для Kubernetes). Для вывода списка подов можно выполнить команду: sudo k3s kubectl get pods -n datalens-enterprise или ./init.sh --kubectl get pods. Все доступные параметры конфигурации развертывания описаны в файле helm/values.yaml.

Совет

Если что-то идет не так, проверьте поды с помощью/init.sh --k9s.

Состав дистрибутива

  • CHANGELOG.md — список изменений всех версий релизов.

  • EULA.md — лицензионное соглашение конечного пользователя. Описывает условия использования программного обеспечения.

  • README.md — основная документация по установке и настройке.

  • datalens-enterprise-images.txt — список Docker-образов и их версий, которые используются в дистрибутиве.

  • datalens-enterprise-images.tar.gz — архив Docker-образов.

  • init.sh — главный скрипт для развертывания и администрирования дистрибутива.

  • meta.json — метаданные о текущем релизе, включая версии ключевых компонентов и контрольные суммы релиза.

  • bin/ — содержит исполняемые файлы утилит:

    • kubectl — инструменты для взаимодействия с кластером Kubernetes.
    • helm — пакетный менеджер для управления Helm-чартами.
    • helm-diff — вспомогательная утилита для управления Helm-релизами, помогает отображать список изменений при обновлении.
    • stern — утилита для просмотра логов в Kubernetes-кластере.
    • k9s — утилита для администрирования Kubernetes-кластера с визуальным интерфейсом внутри терминала.
    • prgz — утилита для отображения прогресса распаковки архивов внутри дистрибутива. Поддерживает SSH-сессию в рабочем состоянии в процессе распаковки.
    • yq — инструмент для обработки и парсинга файлов JSON и YAML.
  • helm/ — содержит Helm-чарты и шаблоны для развертывания:

    • Chart.yaml — основная информация о Helm-чарте.
    • values.yaml — файл конфигурации со значениями по умолчанию.
    • templates/ — шаблоны Kubernetes-манифестов (deployment, service, volume и т. д.).
  • help/ - содержит вспомогательные инструкции и примеры конфигураций:

    • docs/id-sync.md/pdf/html — инструкция по настройке скрипта для синхронизации групп пользователей с внешними провайдерами.
    • docs/ldap.md/pdf/html — инструкция по настройке интеграции с LDAP.
    • docs/oidc.md/pdf/html — инструкция по настройке интеграции с OpenID, который совместим с внешним провайдером аутентификации на примере Keycloak.
    • auth-provider-config.example.json — пример конфигурации для провайдеров аутентификации.
    • docker-config.example.json — пример конфигурации для доступа к приватному реестру Docker-образов.
    • idp-sync.js — пример синхронизации групп пользователей из внешней IdP-системы (Identity Provider).
    • values.example.yaml — пример заполненного файла конфигурации с правильным экранированием значений. Значения указаны для примера и не могут быть использованы в таком виде для развертывания.
  • k3s/ - содержит ресурсы для установки K3s-кластера полностью в офлайн-режиме:

    • install.sh — скрипт установки и настройки K3s-кластера.
    • k3s — утилита управления K3s-кластером.
    • k3s-images.tar.zst — архив с системными образами для K3s-кластера.

Итоги

Вы развернули экземпляр DataLens On-premises и вошли в него. Научились использовать скрипт ./init.sh для быстрой установки и управления паролем администратора.