К основному контенту

Развертывание Apache Superset в Kubernetes (Minikube) с поддержкой ClickHouse и SQLAlchemy URI

 


Подробная инструкция по запуску Apache Superset в Minikube

1. Подготовка окружения

📥 Установка Minikube

Скачиваем последнюю версию Minikube и устанавливаем:

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

Что делают эти команды:

  • curl -LO — скачивает бинарник Minikube.

  • sudo install — копирует его в /usr/local/bin и делает исполняемым.

  • rm — удаляет временный файл после установки.


2. Запуск Minikube-кластера

Запускаем локальный Kubernetes-кластер:

minikube start
  • minikube start — создает кластер Kubernetes на локальной машине.

Проверяем статус подов:

kubectl get po -A

Если kubectl не установлен, можно использовать встроенную команду:

minikube kubectl -- get po -A

Чтобы всегда использовать встроенный kubectl, можно добавить алиас в ~/.bashrc или ~/.zshrc:

alias kubectl="minikube kubectl --"

📊 Веб-интерфейс Kubernetes Dashboard

Для удобного управления кластером запустите Dashboard:

minikube dashboard

3. Подготовка Helm и конфигурации Superset

📂 Создаем рабочую директорию

mkdir -p /opt/superset-k8s cd /opt/superset-k8s

📝 Создаем файл конфигурации

nano values.yaml

(Готовый файл можно скачать отсюда: https://readycloud.ru/conf/superset/helm/ )


4. Установка Superset через Helm

📦 Подключаем репозиторий Superset

helm repo add superset https://apache.github.io/superset

Проверим список чартов:

helm search repo superset

Пример вывода:

NAME CHART VERSION APP VERSION DESCRIPTION superset/superset 0.1.1 1.0 Apache Superset is a modern, enterprise-ready b...

🚀 Установка Superset

helm upgrade my-superset superset/superset -f values.yaml --wait --timeout 10m --debug

Расшифровка ключей:

  • my-superset — имя релиза (будет видно в Kubernetes).

  • -f values.yaml — используем свой конфигурационный файл.

  • --wait — ждём завершения установки.

  • --timeout 10m — ждем максимум 10 минут.

  • --debug — выводим подробный лог.


5. Доступ к Superset

🔌 Проброс порта

Меняем тип сервиса на NodePort:

minikube kubectl -- patch svc my-superset -n default -p '{"spec": {"type": "NodePort"}}'

Выводим внешний адрес для доступа:

minikube service my-superset --url

Пример:

http://192.168.49.2:31749

🌍 Настройка Nginx Reverse Proxy

Создаем конфиг для доступа по доменному имени:

nano /etc/nginx/sites-enabled/superset.conf

Пример конфига:

server { listen 80; server_name superset.domain.local; location / { proxy_pass http://192.168.49.2:31749; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; send_timeout 60s; } }

Не забудьте добавить запись в /etc/hosts:

192.168.49.2 superset.domain.local

6. Полезные команды для администрирования

📋 Проверка статуса подов

kubectl get pods -n default

🔄 Перезапуск деплоя

kubectl rollout restart deployment my-superset -n default

🗑 Удаление релиза Superset

helm uninstall my-superset -n default

🧹 Очистка namespace

kubectl delete namespace default kubectl create namespace default

Или удаление всего Minikube-кластера:

minikube delete --all

Комментарии

Популярные сообщения из этого блога

Debian 10: Подключение и Настройка Архивных Репозиториев для Работы

Актуальные рабочие репозитории для Debian 10: подключение и исправление проблем Debian 10 "Buster" официально устарел, и его репозитории были перемещены в архив. Это означает, что стандартные зеркала больше не содержат пакеты для данной версии. Однако можно продолжать использовать Debian 10, подключив архивные репозитории. В этой статье рассмотрим, как правильно настроить систему и устранить возможные проблемы. 1. Подключение архивных репозиториев для Debian 10 Шаг 1: Редактирование файла sources.list Для работы с пакетами необходимо обновить список репозиториев в файле /etc/apt/sources.list . Откройте его с правами суперпользователя: sudo nano /etc/apt/sources.list Замените его содержимое на следующее: deb http://archive.debian.org/debian buster main contrib non-free deb http://archive.debian.org/debian-security buster/updates main contrib non-free deb http://archive.debian.org/debian buster-updates main contrib non-free Сохраните изменения ( Ctrl + X , затем Y и Enter ). Ш...

Настройка и подключение IPSec в Windows

Настройка IPSec на Windows включает в себя создание правил безопасности и фильтров для защиты сетевого трафика. Ниже — пошаговое руководство. Включение службы IPSec Перед настройкой убедитесь, что служба IPSec Policy Agent запущена: Нажмите Win + R , введите services.msc и нажмите Enter . Найдите IPsec Policy Agent . Если она не работает, нажмите ПКМ → Свойства . Установите Тип запуска: Автоматически , затем нажмите Запустить . Настройка политики IPSec через «Локальную политику безопасности» Нажмите Win + R , введите secpol.msc , нажмите Enter . Перейдите в Политики IP-безопасности в локальном компьютере . В правом окне нажмите Создать политику IP-безопасности → Далее . Укажите имя политики (например, "IPSec VPN"), снимите флажок Активировать правило по умолчанию , нажмите Далее . Нажмите Добавить , чтобы создать правило. Транспортный или туннельный режим : Если IPSec для защищенной локальной сети – выберите Транспортный режим . Если IPSec для VPN – выберите Туннельн...

Полный обзор AWX для Ansible: возможности, назначение и логика работы

AWX — это веб-интерфейс, REST API и механизм управления для Ansible, который делает автоматизацию удобнее и управляемее. Он является основой для Red Hat Ansible Automation Platform (AAP) и предоставляет мощные возможности для администрирования инфраструктуры. 🔹 Возможности AWX Управление инвентарем Подключение к динамическим инвентарям (например, AWS, GCP, VMware). Группировка хостов и управление ими через GUI. Импорт инвентаря из статических файлов (INI, YAML, JSON). Планирование и выполнение заданий Запуск плейбуков по расписанию. Возможность ручного запуска через интерфейс. Параллельное выполнение нескольких задач. Контроль доступа и безопасность Ролевая модель управления (RBAC). Поддержка интеграции с LDAP, SAML, OAuth. Гибкие политики доступа к ресурсам. Логирование и мониторинг Детальный журнал выполнения задач. Интеграция с Grafana, Prometheus, ELK. Уведомления (Slack, Email, Webhook). CI/CD и интеграция с SCM Авто...