Mastering Data Visualization: Installing Superset on Kubernetes Cluster Using Helm Chart

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.