Перейти к основному содержимому

Способы установки

Как установить Liteset? Ниже — сравнение вариантов. Перед чтением полезно разобраться в Архитектуре, чтобы понимать, какие компоненты задействованы.

к сведению

Liteset — drop-in async-замена Apache Superset 6.0.0 и переиспользует те же схему БД метаданных, фронтенд-бандл и Celery-воркеров. Большинство паттернов установки наследуется у upstream Apache Superset и применяется без изменений.

Главный trade-off — между «больше делать руками» и «сложнее в развёртывании, зато мелочи решены за вас».

Docker Compose

Кратко: использует контейнеризацию, проще, чем Kubernetes. Лучший способ попробовать Liteset; также удобно для разработки и контрибьюции.

Если вы не просто демонстрируете ПО, придётся разобраться с Docker, чтобы кастомизировать установку и избежать ряда подводных камней. Даже после полной оптимизации этот метод не настолько надёжен, как Kubernetes для крупных продакшенов.

Вы управляете файлами superset_config.py и docker-compose.yml. Docker Compose поднимает все необходимые сервисы — приложение Liteset, метаданные в Postgres, кэш в Redis, Celery worker и beat. Они автоматически связаны между собой.

Что вам нужно

Делать бэкапы БД метаданных. Это может означать резервное копирование сервиса, работающего как Docker-контейнер с томом; в идеале — Postgres работает как отдельный сервис вне контейнера, и вы бэкапите именно его.

Вам также нужно расширить Docker-образ Liteset. Стандартные lean-образы не содержат драйверов БД (ни для метаданных Postgres/MySQL, ни для вашей аналитической БД), а также headless-браузера для Alerts & Reports. Для демо можно использовать -dev-образ, в котором это есть, но драйвер вашей аналитической БД всё равно нужно ставить отдельно. -dev-образы запускаются от root, что не рекомендуется в продакшене.

Лучше — собрать собственный образ Liteset, расширяющий lean. См. Сборка собственного production-образа.

Kubernetes (K8s)

Кратко: лучший способ задеплоить продакшен Liteset, но требует наибольших навыков — нужен человек, знающий Kubernetes.

Liteset разворачивается в кластер K8s. Самый распространённый способ — community-Helm-чарт Apache Superset, адаптированный под Liteset (см. предупреждение на странице Kubernetes). В upstream Superset также идёт работа над SIP-149 — Kubernetes Operator for Superset.

K8s-развёртывание масштабируется вверх и вниз в зависимости от нагрузки и поддерживает rolling updates с zero downtime — то, что ценят крупные инсталляции.

Что вам нужно

Собрать собственный Docker-образ и бэкапить БД метаданных, как описано выше для Docker Compose. Также нужно настроить значения values.yaml, развернуть и поддерживать кластер.

PyPI (Python)

Кратко: единственный способ, не требующий знания контейнеров. Самый «руками» вариант для развёртывания, подключения и поддержки каждого компонента.

Вы устанавливаете Liteset как Python-пакет и запускаете напрямую, предоставляя свою БД метаданных. Документация по такой установке есть, но обновляется не очень часто.

Для кэширования настраиваете Redis или RabbitMQ. Для Alerts & Reports — Celery.

Что вам нужно

Запустить и связать компоненты между собой. Организовать бэкапы БД метаданных.

При апгрейде поддерживать системное окружение и пакеты, следить за совместимостью зависимостей всех компонентов.