Cube is a BI layer that provides you with various options like preAggregations, SQL APIs, which facilitates you in reducing the number of requests made directly to the database.
- Create a new namespace
kubectl create ns cubejs
- Apply the cube deployment files
kubectl apply -f ./cube-deployment-files
Timescale is a time-series database which is built on top of postgres. We are using pgBouncer to handle connections to the database
- Create a new namespace
kubectl create ns dbspace
- Apply the cube deployment files
kubectl apply -f ./postgres_and_pgbouncer
Superset is a visualization tool which aids you in bringing up dashboards and charts at ease.
- Create a new namespace
kubectl create ns superset
- Add the superset helm chart
helm repo add superset https://apache.github.io/superset
- Install the superset helm chart with the given
values.yaml
file
helm upgrade -f ./superset/values.yaml superset superset/superset -n superset
- If your kubernetes cluster is on minikube, to use user-defined Cube schemas, you should mount the
cube-api-schema directory
minikube mount <path-to-your-directory>/cube-api-schema:/cube/conf/schema
- Expose Cube API Port
kubectl port-forward --namespace=cubejs pods/<name-of-the-cube-api-pod> 4000
- Expose Superset port, and login with the superset admin credentials
kubectl port-forward --namespace=superset pods/<name-of-the-superset-pod> 8088