Subsections of BI

Install Superset

🚀Installation

Install By

1.get helm repo

Details
helm repo add xxxxx https://xxxx
helm repo update

2.install chart

Details
helm install xxxxx/chart-name --generate-name --version a.b.c
Using 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.c

4. Postgresql is installed; if not, check 🔗link


5. Redis is installed; if not, check 🔗link


1.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_PASSWORD

2.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

EOF
Details
kubectl -n argocd apply -f -<< EOF

EOF

3.sync by argocd

Details
argocd app sync argocd/superset
Using 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.c
Using 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 database

2.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.yaml

7.decode password

Details
kubectl -n application get secret xxxx-credentials -o jsonpath='{.data.xxx-password}' | base64 -d

1.init server

Details
Using AY ACR Image Mirror
Using DaoCloud Mirror

🛎️FAQ

Q1: Show me almost endless possibilities

You can add standard markdown syntax:

  • multiple paragraphs
  • bullet point lists
  • emphasized, bold and even bold emphasized text
  • links
  • etc.
...and even source code

the possibilities are endless (almost - including other shortcodes may or may not work)

Q2: Show me almost endless possibilities

You can add standard markdown syntax:

  • multiple paragraphs
  • bullet point lists
  • emphasized, bold and even bold emphasized text
  • links
  • etc.
...and even source code

the possibilities are endless (almost - including other shortcodes may or may not work)