# Manually Installing Sisense Helm Chart - Single Node

*Source: https://docs.sisense.com/main/SisenseLinux/installing-sisense-helm-singlenode.htm*

---

Last updated: June 10, 2026

|  |  |
| --- | --- |
| [Tier](https://www.sisense.com/pricing/#pricing) | [Deployment](https://docs.sisense.com/main/SisenseLinux/introduction-to-sisense-cloud-managed-services.md#ComparisonofManagedCloudandSelfHosted) |
| Enterprise | On-Prem |

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.

## Prerequisites

- General prerequisites: [Checking the Prerequisites](https://docs.sisense.com/main/SisenseLinux/checking-the-prerequisites.md) and [Planning Your Configuration](https://docs.sisense.com/main/SisenseLinux/planning-your-configuration.md).
- 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 `kubectl` commands such as `kubectl 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 sure `install_k8s_only: true`, which will only install Kubernetes and will exit without Sisense installation.

1. Create the directory */opt/sisense* and [mount it on a self dedicated disk](https://docs.sisense.com/main/SisenseLinux/mounting-on-a-dedicated-disk-for-sisense-single-nodes.md).

   1. Create the following sub-directories and give them ownership according to your running user ID:

      [Copy](javascript:void(0);)

      ```
      NAMESPACE=sisense #for example  
      run_as_user=${run_as_user:-1000}  
      run_as_group=${run_as_group:-1000}  
        
      sudo mkdir -p /opt/sisense/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
      ```
2. Manually label your Kubernetes nodes as below, and remove node taint `node-role.kubernetes.io/master:NoSchedule` from that node:

[Copy](javascript:void(0);)

```
kubectl label node ${node_name} node=single --overwrite=true  
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 `oc label node` command, and you will have to modify the node labels via the Cloud/OpenShift provider’s UI or CLI command.

1. Only if you are installing Sisense without cluster visibility, create your Sisense project (namespace).

   [Copy](javascript:void(0);)

   ```
   NAMESPACE=sisense #for example  
   kubectl create ns ${NAMESPACE}
   ```

1. If you would like to use the internal monitoring app, see [Installing/Updating Sisense Internal Monitoring](https://docs.sisense.com/main/SisenseLinux/installing-sisense-internal-monitoring.md).

## Sisense Helm Chart Installation

1. Add the Sisense helm repo, and run a quick update to sync with the remote repo:

   [Copy](javascript:void(0);)

   ```
   helm repo add sisense-fusion https://data.sisense.com/linux/helm/charts/fusion  
   helm repo update
   ```
2. Search the available chart version via one of the following commands:

   [Copy](javascript:void(0);)

   ```
   SISENSE_VERSION=<YOUR SISENSE VERSION>  
   # Example:  
   # SISENSE_VERSION=L2024.1.0.46  
     
   helm search repo sisense-fusion -l | grep ${SISENSE_VERSION}  
   sisense-fusion/sisense               2024.1.046               L2024.1.0.46         Sisense Linux Deployment  
     
   # In the case above, you'll need to install sisense version 2024.1.046 (Following the SemVer 2 convention)
   ```

### Upgrading an Existing Sisense Installation

1. 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:

[Copy](javascript:void(0);)

```
# You can use other namespace if you wish  
NAMESPACE=sisense  
SISENSE_SEMVER=<You Sisense version in format SemVer 2>  
# Example, for Sisense version "L2024.1.0.46":  
# SISENSE_SEMVER=2024.1.046  
  
helm upgrade -n ${NAMESPACE} sisense sisense-fusion/sisense --version ${SISENSE_SEMVER} -f singlenode-values.yaml
```

1. Continue with [Post Installation](#Post).

### First Sisense Installation

If this is the first time you are installing Sisense, follow these instructions.

1. Download the *singlenode-values.yaml* file to your server: [singlenode-values.yaml.](https://docs.sisense.com/main/singlenode-values.yaml)
2. Edit any values that you need to set. See [Sisense Helm Chart Parameters](https://docs.sisense.com/main/SisenseLinux/helm-chart-parameters.md).
3. If you have installed [Sisense Internal Monitoring](https://docs.sisense.com/main/SisenseLinux/installing-sisense-internal-monitoring.md), then in the *singlenode-values.yaml* file, find each location (there are four) with the following comment, and follow the instructions in the comments:

   `# If installed Sisense Prometheus ...`

   Examples:

   [Copy](javascript:void(0);)

   ```
   global:  
     ...  
       monitoring:  
       # If installed Sisense Prometheus, set below to "true"  
         internal: false  
     
   mongodb:  
     ...  
     # If installed Sisense Prometheus, uncomment below "mterics" section, and make sure of the correct monitoring "namespace"  
     #metrics:  
     #  enabled: true  
     #  collector:  
     #    all: true  
     #  compatibleMode: true  
     #  extraFlags: "--discovering-mode"  
     #  serviceMonitor:  
     #    enabled: true  
     #    namespace: monitoring  
     #    labels:  
     #      release: sisense-prom-operator
   ```

1. If you are installing Sisense on a namespace other than sisense, then in the *values.yaml* file, find each location (there are three) with the following comment, and follow the instructions in the comments:

   `# If installed Sisense on a different namespace than "sisense" ...`

   Examples:

   [Copy](javascript:void(0);)

   ```
   zookeeper:  
     ...  
     # If installed Sisense on a different namespace than "sisense", then in the last line of "configuration:", switch "sisense" to correct namespace  
     # Example for namespace "mynamespace"  
     # server.1=mynamespace-zookeeper-0.mynamespace-zookeeper-headless.mynamespace.svc.cluster.local:2888:3888  
     configuration: |-  
       tickTime=2000  
       initLimit=10  
       ...  
       server.1=sisense-zookeeper-0.sisense-zookeeper-headless.sisense.svc.cluster.local:2888:3888  
     
   grafana:  
     ...  
     persistence:  
       storageClassName: manual  
       selectorLabels:  
         # If installed Sisense on a different namespace than "sisense", switch the below from "sisense" to correct namespace  
         app: "grafana-sisense"
   ```
2. Install Sisense using the values file:

   [Copy](javascript:void(0);)

   ```
   # You can use other namespace if you wish  
   NAMESPACE=sisense  
   SISENSE_SEMVER=<You Sisense version in format SemVer 2>  
   # Example:  
   # SISENSE_SEMVER=2024.1.046  
     
   helm upgrade -n ${NAMESPACE} sisense sisense-fusion/sisense --version ${SISENSE_SEMVER} -f singlenode-values.yaml --install --create-namespace
   ```

After ~30 seconds, the following message appears (the message could be slightly different, depending on given values; for example, if using a LoadBalancer):

![HelmInstallSuccess](https://docs.sisense.com/main/Resources/Images/HelmInstallSuccess.png)

## 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:

![ServicesDeployment](https://docs.sisense.com/main/Resources/Images/ServicesDeployment_446x398.png)

When all of the services are up, the message `Sisense installation process completed successfully` appears.

![SingleHelm InstallSuccess](https://docs.sisense.com/main/Resources/Images/SingleHelm_InstallSuccess_793x425.png)

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.

![Activation](https://docs.sisense.com/main/Resources/Images/Activation6_489x444.png)
