Manually Installing Sisense Helm Chart - Single Node
Last updated: October 21, 2026
| Tier | Deployment |
|
|
You can install the Sisense Helm chart itself directly on your Kubernetes cluster, meaning installing the Sisense app itself, without using the sisense.sh script.
This page describes a single-node installation, in which Sisense stores its data on the disk of the node (hostPath volumes under /opt/sisense). To install on a multinode or cloud-managed cluster with StorageClasses, see Installing Sisense with Helm on an Existing Cluster (Multinode/Cloud).
Prerequisites
- General prerequisites: Checking the Prerequisites and Planning Your Configuration.
-
You must have a pre-installed Kubernetes. Have your own kubernetes cluster or Install the kubernetes cluster (you can use the Sisense installation to only install k8s). You also must be connected to your Kubernetes cluster (i.e., you can do
kubectlcommands such askubectl get pod, and others).
For example: To install Kubernetes via the sisense.sh script, modify the installer/extra_values/installer/installer-values.yaml file, and make sureinstall_k8s_only: true, which will only install Kubernetes and will exit without Sisense installation. -
Helm 3.13 or later (required to preview an installation or upgrade with
--dry-run=server). -
If your cluster enforces Pod Security Admission, the Sisense namespace must allow the
privilegedlevel. A single-node installation uses hostPath volumes, which thebaselineandrestrictedlevels do not allow. See Privileges and Permissions for Self-Deployment.
-
Create the directory /opt/sisense and mount it on a self dedicated disk.
-
Create the following sub-directories and give them ownership according to your running user ID. Note that the ZooKeeper directory is /opt/<namespace>/zookeeper, where <namespace> is the namespace that you install Sisense into.
CopyNAMESPACE=sisense #for example
run_as_user=${run_as_user:-1000}
run_as_group=${run_as_group:-1000}
sudo mkdir -p /opt/${NAMESPACE}/zookeeper
sudo mkdir -p /opt/sisense/mongodb
sudo mkdir -p /opt/sisense/storage
sudo mkdir -p /opt/sisense/dgraph-io
sudo mkdir -p /opt/sisense/alertmanager
sudo mkdir -p /opt/sisense/grafana/grafana-${NAMESPACE}
sudo mkdir -p /opt/sisense/prometheus/prometheus-db
sudo mkdir -p /opt/sisense/alertmanager/alertmanager-db
sudo chown -R ${run_as_user}:${run_as_group} /opt/sisense /opt/${NAMESPACE}/zookeeper
-
-
Label your Kubernetes node as sisense.sh does. If the node has a control-plane
NoScheduletaint, remove it so that Sisense pods can run on the node:
kubectl label node ${node_name} node=single --overwrite=true
# Check the taints of the node:
kubectl describe node ${node_name} | grep Taints
# If needed, remove the taint, for example:
kubectl taint nodes ${node_name} node-role.kubernetes.io/master:NoSchedule-
Note:
If you are using a cloud managed K8s or OpenShift, you may not be able to use the kubectl label node or oc label node command, and you will have to modify the node labels via the Cloud/OpenShift provider’s UI or CLI command.
-
Create your Sisense namespace (project).
CopyNAMESPACE=sisense #for example
kubectl create ns ${NAMESPACE}
-
If you would like to use the internal monitoring app, see Installing/Updating Sisense Internal Monitoring.
Sisense Helm Chart Installation
-
Add the Sisense helm repo, and run a quick update to sync with the remote repo:
Copyhelm repo add sisense-fusion https://data.sisense.com/linux/helm/charts/fusion
helm repo update -
List the available chart versions. Use the value in the CHART VERSION column, for example
2026.4.0, as the chart version in the following commands.Copyhelm search repo sisense-fusion/sisense --versions | head
Upgrading an Existing Sisense Installation
-
If you already have your own predefined singlenode-values.yaml file (which you used from previous installations), and you are only upgrading the Sisense version, perform the following command:
NAMESPACE=sisense # your namespace
RELEASE=sisense # the release name of the existing installation (see: helm list -n ${NAMESPACE})
SISENSE_SEMVER=<new chart version>
# Example:
# SISENSE_SEMVER=2026.4.0
helm upgrade ${RELEASE} sisense-fusion/sisense --version ${SISENSE_SEMVER} -n ${NAMESPACE} -f singlenode-values.yaml
-
Always pass your complete values file. Do not use
--reuse-values: new chart versions can change default values, and--reuse-valueskeeps the old ones. -
To preview the upgrade, run the same command with
--dry-run=server. -
Check the release notes for the versions between your current version and the new one. If the running MongoDB is older than version 7, the chart stops the upgrade with the message
Your current Sisense version is too old. Please first upgrade to Sisense version L2025.2.0, and then proceed with the newer installation.Upgrade to L2025.2.0 first, and then to the new version.
-
Continue with Post Installation.
First Sisense Installation
If this is the first time you are installing Sisense, follow these instructions.
-
Download the singlenode-values.yaml file to your server: singlenode-values.yaml.
-
Edit any values that you need to set. See Sisense Helm Chart Parameters. Keep
global.clusterMode.enabled: falseandglobal.storageClass: manual: with these values, the chart creates hostPath PersistentVolumes for MongoDB, ZooKeeper, Dgraph, and Grafana on the node. -
If you have installed Sisense Internal Monitoring, set the following values in the singlenode-values.yaml file (they are commented out in the file):
-
global.monitoring.internal: true -
mongodb.metrics.enabled,rabbitmq.metrics.enabled, andzookeeper.metrics.enabled:true, andmongodb.metrics.serviceMonitor.namespace: your monitoring namespace. These settings require the Prometheus Operator CRDs that internal monitoring installs. -
The Grafana Prometheus datasource
url:http://sisense-prom-operator-kube-prometheus.<monitoring-namespace>.svc:9090.
-
-
If you are installing Sisense on a namespace other than
sisense, changegrafana.persistence.selectorLabels.appin the singlenode-values.yaml file tografana-<namespace>. This is the only namespace-dependent value in the file.Example for the namespace
mynamespace:Copygrafana:
...
persistence:
storageClassName: manual
selectorLabels:
app: "grafana-mynamespace"If you reuse a values file from an earlier version of this page, remove its
zookeeper.configurationblock. The chart builds the ZooKeeper configuration fromzookeeper.replicaCount, the release name, and the namespace. -
Install Sisense using the values file. Use the namespace name as the release name, as sisense.sh does:
CopyNAMESPACE=sisense # your namespace; also used as the release name
SISENSE_SEMVER=<chart version>
# Example:
# SISENSE_SEMVER=2026.4.0
helm upgrade --install ${NAMESPACE} sisense-fusion/sisense --version ${SISENSE_SEMVER} -n ${NAMESPACE} -f singlenode-values.yaml
After ~30 seconds, the following message appears (the message could be slightly different, depending on given values; for example, if using a LoadBalancer):
Post Installation
When you see the message above, the Sisense app is undergoing the deployment process. Use the following command to follow its progress until it is completed:
kubectl logs -f --namespace ${NAMESPACE} -l app.kubernetes.io/name=validator
Initially, you can see the services as they are being deployed:
When all of the services are up, the message Sisense installation process completed successfully appears.
Once the installation is complete, some Sisense pods will remain in the Init state until the license activation. To activate the license, navigate to the Sisense web application URL (without extra paths such as /app/account/login) in your browser and enter your license credentials.
Enter your Sisense address, and run the activation.