Skip to main content
Skip table of contents

Install Superset

Expertflow CX uses Apache Superset for historical reports.

Deploy Superset on a dedicated node for a production deployment.

  1. Superset will be deployed in ef-bi namespace. Run the following command on the master node.

    CODE
    kubectl create namespace ef-bi
  2. Create image pull secret for ef-bi namespace.

    CODE
    kubectl apply -f pre-deployment/registryCredits/ef-imagePullSecret-ef-bi.yaml
  3. Run the following command to install Superset. 

    CODE
    helm upgrade --install=true --wait=true --timeout=10m0s --debug --namespace=ef-bi --values external/superset/values.yaml superset external/superset/ 

Please wait for sometime to settle down the deployment, before executing port patching commands below.

Accessing the Superset

Superset can be accessed by two menthods

  • nodePort , this method gives access to Superset using node-ip:port where node-ip is any of the worker nodes and port range is extracted in next steps.

  • FQDN. For accessing the superset using FQDN, a separate FQDN is required.

Superset on nodePort

Expose the Superset service from ClusterIP to NodePort by running the following command

CODE
kubectl patch svc superset -n ef-bi  --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]'
  1. Run the following command to see the higher port that is assigned to Superset.

    CODE
    kubectl -n ef-bi  get svc superset -o go-template='{{(index .spec.ports 0).nodePort}}';echo;
  2. Now you can access the Superset on this port on any node. 

Superset on FQDN

  1. Run the following command to change subdomain name:

    CODE
    sed -i 's/devops[0-9]*.ef.com/<subdomain.ef.com>/g'   cim/Ingresses/nginx/ef-superset-Ingress.yaml 
  2. Apply the superset Ingress Route.

    CODE
    kubectl apply -f cim/Ingresses/nginx/ef-superset-Ingress.yaml 

please modify the <FQDN> with your current fqdn before applying the following command.

  1. To use a self-signed certificate , generate csr and key files. If using commerical SSL certificate, skip to next step.

    BASH
    openssl req -x509 \
    -newkey rsa:4096 \
    -sha256 \
    -days 3650 \
    -nodes \
    -keyout <subdomain>.key \
    -out <subdomain>.crt \
    -subj "/CN=<subdomain>" \
    -addext "subjectAltName=DNS:www.<subdomain>,DNS:<subdomain>"
  2. Now generate a secret with the certificate files. You must have subdomain.key and subdomain.crt files available on the machine and in the correct directory. Substitute with your own cert and key file for commercial SSL certificate.

    CODE
    kubectl -n ef-bi create secret tls ef-ingress-tls-secret-superset \
    --key pre-deployment/certificates/server.key \
    --cert pre-deployment/certificates/server.crt

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.