Install Superset
🚀Installation
Install By
1.get helm repo
Details
helm repo add xxxxx https://xxxx
helm repo update2.install chart
Details
helm install xxxxx/chart-name --generate-name --version a.b.cUsing AY Helm Mirror
for more information, you can check 🔗https://github.com/AaronYang0628/helm-chart-mirror
helm repo add ay-helm-mirror https://aaronyang0628.github.io/helm-chart-mirror/charts
helm repo update
helm install ay-helm-mirror/chart-name --generate-name --version a.b.c4. Postgresql is installed; if not, check 🔗link
5. Redis is installed; if not, check 🔗link1.prepare `superset-external-env`
Details
kubectl create secret generic superset-external-env -n database \
--from-literal=DB_HOST=postgresql.database.svc.cluster.local \
--from-literal=DB_PORT=5432 \
--from-literal=DB_USER=n8n \
--from-literal=DB_PASS=REPLACE_DB_PASSWORD \
--from-literal=DB_NAME=superset \
--from-literal=REDIS_HOST=redis-master.database.svc.cluster.local \
--from-literal=REDIS_PORT=6379 \
--from-literal=REDIS_USER= \
--from-literal=REDIS_PASSWORD=REPLACE_REDIS_PASSWORD \
--from-literal=REDIS_PROTO=redis \
--from-literal=REDIS_DB=1 \
--from-literal=REDIS_CELERY_DB=0 \
--from-literal=SUPERSET_SECRET_KEY=REPLACE_SUPERSET_SECRET_KEY \
--from-literal=SUPERSET_ADMIN_PASSWORD=REPLACE_SUPERSET_ADMIN_PASSWORD2.prepare `deploy-superset.yaml`
Details
kubectl -n argocd apply -f -<<EOF
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: superset
spec:
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
project: default
source:
repoURL: https://apache.github.io/superset
targetRevision: 0.15.5
helm:
releaseName: superset
values: |
envFromSecret: superset-external-env
secretEnv:
create: false
bootstrapScript: |
#!/bin/bash
uv pip install psycopg2-binary
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
postgresql:
enabled: false
redis:
enabled: false
supersetNode:
connections:
db_type: postgresql
db_host: postgresql.database.svc.cluster.local
db_port: "5432"
db_user: n8n
db_name: superset
redis_host: redis-master.database.svc.cluster.local
redis_port: "6379"
redis_user: ""
redis_cache_db: "1"
redis_celery_db: "0"
configOverrides:
secret: |
import os
SECRET_KEY = os.getenv("SUPERSET_SECRET_KEY")
proxy: |
ENABLE_PROXY_FIX = True
init:
createAdmin: false
initscript: |-
#!/bin/sh
set -eu
echo "Upgrading DB schema..."
superset db upgrade
echo "Initializing roles..."
superset init
echo "Creating admin user..."
superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@dev.72602.online \
--password "${SUPERSET_ADMIN_PASSWORD}" \
|| true
ingress:
enabled: true
ingressClassName: nginx
annotations:
cert-manager.io/cluster-issuer: lets-encrypt
hosts:
- superset.dev.72602.online
path: /
pathType: Prefix
tls:
- secretName: superset.dev.72602.online-tls
hosts:
- superset.dev.72602.online
chart: superset
destination:
server: https://kubernetes.default.svc
namespace: database
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
EOFDetails
kubectl -n argocd apply -f -<< EOF
EOF3.sync by argocd
Details
argocd app sync argocd/supersetUsing AY ACR Image Mirror
Using DaoCloud Mirror
1.init server
Details
Using AY ACR Image Mirror
Using DaoCloud Mirror
1.prepare `argocd-login-credentials`
Details
kubectl get namespaces database > /dev/null 2>&1 || kubectl create namespace database2.apply rolebinding to k8s
4.prepare `deploy-xxxx-flow.yaml`
Details
5.submit to argo workflow client
Details
argo -n business-workflows submit deploy-xxxx-flow.yaml7.decode password
Details
kubectl -n application get secret xxxx-credentials -o jsonpath='{.data.xxx-password}' | base64 -d1.init server
Details