This chart bootstraps an Apache superset deployment on a Kubernetes cluster using the Helm package manager.
$ helm install stable/superset
- Kubernetes 1.9+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure (Only when persisting data)
To install the chart with the release name my-release
:
$ helm install --name my-release stable/superset
The command deploys Superset on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
Tip: List all releases using
helm list
To uninstall/delete the my-release
deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Parameter | Description | Default |
---|---|---|
image.repository |
superset image repository |
amancevice/superset |
image.tag |
superset image tag |
0.35.2 |
image.pullPolicy |
Image pull policy | IfNotPresent |
image.pullSecrets |
Secrets for private registry | [] |
configFile |
Content of superset_config.py |
See values.yaml](./values.yaml) |
extraConfigFiles |
Content of additional configuration files. Let the dictionary key name represent the name of the file and its value the files content. | {} |
init.enable |
Enable Init Job that runs DB migrations | true |
init.extraArguments |
Extra arguments passed to init_superset_db.sh | [] |
init.initFile |
Content of init shell script | See values.yaml |
initFile |
Content of init shell script | See values.yaml |
replicas |
Number of replicas of superset | 1 |
extraEnv |
Extra environment variables passed to pods | {} |
extraArguments |
Extra arguments passed to init_superset.sh | [] |
extraEnvFromSecret |
The name of a Kubernetes secret (must be manually created in the same namespace) containing values to be added to the environment | "" |
deploymentAnnotations |
Key Value pairs of deployment level annotations. Useful for 3rd party integrations | {} |
persistence.enabled |
Enable persistence | false |
persistence.existingClaim |
Provide an existing PersistentVolumeClaim | "" |
persistence.storageClass |
Storage class of backing PVC | nil (uses alpha storage class annotation) |
persistence.accessMode |
Use volume as ReadOnly or ReadWrite | ReadWriteOnce |
persistence.size |
Size of data volume | 8Gi |
resources |
CPU/Memory resource requests/limits | Memory: 256Mi , CPU: 50m / Memory: 500Mi , CPU: 500m |
service.port |
TCP port | 9000 |
service.type |
k8s service type exposing ports, e.g. NodePort |
ClusterIP |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
Toleration labels for pod assignment | [] |
livenessProbe |
Parameter for liveness probe | See values.yaml |
readinessProbe |
Parameter for readiness probe | See values.yaml |
ingress.enabled |
Create an ingress resource when true | false |
ingress.annotations |
ingress annotations | {} |
ingress.hosts |
ingress hosts | [superset.domain.com] |
ingress.path |
ingress path | \ |
ingress.tls |
ingress tls | [] |
supersetAssetsPath |
path where superset assets are stored | /usr/local/lib/python3.6/site-packages/superset/static/assets |
imageAssets |
filename: "[base64-encoded image]" for white-labeling, overwrite existing asset files |
{} |
see values.yaml
There is a script (init_superset.sh
) which is called at the entrypoint of the container. It initialzes the db and creates an user account. You can configure the content with initFile
. E.g. in order to change admin password and load examples:
initFile: |-
/usr/local/bin/superset-init --username admin --firstname myfirstname --lastname mylastname --email [email protected] --password mypassword
superset load_examples
superset runserver
Alternatively, you can use the Init Job
to do the same task of initializing the db, creating a user account and loading examples.
init:
enable: true
initFile: |-
superset db upgrade
/usr/local/bin/superset-init --username admin --firstname myfirstname --lastname mylastname --email [email protected] --password mypassword
superset load_examples
The superset image mounts the SQLite DB file (superset.db
) on path /var/lib/superset
. The chart mounts a Persistent Volume at this location. The volume is created using dynamic volume provisioning. If the PersistentVolumeClaim should not be managed by the chart, define persistence.existingClaim
.
- Create the PersistentVolumeClaim with name
superset-pvc
in the same namespace - Install the chart
$ helm install --set persistence.enabled=true,persistence.existingClaim=superset-pvc stable/superset