Mastering Data Visualization: Installing Superset on Kubernetes Cluster Using Helm Chart
This post explores the integration of Apache Superset as a powerful data visualization tool with Kubernetes environment using SQL Server tables for sourcing and Delta Lake table format on top of your Lakehouse. We will deep-dive into pragmatic ways to configure and orchestrate these components allowing organizations to leverage real-time data insights and complex analytics. This guide walks you through building a high-performance and scalable data infrastructure whether you are a data engineer or business analyst.
Step 1: Add the Superset Helm repository to deploy Superset using Helm. These Helm charts, which define all of the configurations and resources required to run Superset.
To add the Superset Helm repo to your helm client use:
helm repo add superset https://apache.github.io/superset
Create a namespace for install Superset
kubectl create namespace superset
Generate SECRET_KEY
openssl rand -base64 42
Step 2: Create a values yaml file — superset_values yaml.
# Define the namespace where Superset will be installed
namespace: superset
# Database configuration
postgresql:
postgresqlUsername: supersetpostgres
postgresqlPassword: SuperPGadmin@2024
postgresqlDatabase: superset
configOverrides:
secret: |
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
bootstrapScript: |
#!/bin/bash
pip install psycopg2 \
pip install pyhive &&\
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
This is an example of a configuration snippet to deploy Apache Superset. It sets the namespace for the superset as “superset” and sets up the PostgreSQL based database credentials. It has configuration overrides for Superset, and tells it to use a secret key when doing cryptographic things. Apply the SECRET_KEY generated in previous step. The package also provides a bootstrap script that installs the psycopg2 library for PostgreSQL connectivity, as well as pyhive library for Apache Hive connectivity.
Helm chart to Deploy/Upgrade an Instance of Apache Superset
helm upgrade - install - values superset/superset-values $ yaml superset superset/superset -n superset
Verify the pods status
kubectl get pods -n superset
Port Forwarding
kubectl port-forward service/superset 8088:8088 - namespace superset
To login to access Superset use localhost:8088
user: admin
password: admin
Conclusion :-
Installing Superset on Kubernetes using Helm charts provides a scalable and maintainable solution for data visualization needs. This method allows for easier updates and configuration management compared to manual installation.