Stream Processor >

Installation Options



In order to use WSO2 Helm resources, you need an active WSO2 subscription. If you do not possess an active WSO2 subscription, you can sign up for a WSO2 Free Trial Subscription here.


Install Helm (and Tiller) and Kubernetes client.


A Kubernetes cluster that is already setup with NGINX Ingress Controller enabled.


A pre-configured Network File System (NFS) to be used as the persistent volume for artifact sharing and persistence.

In the NFS server instance, create a Linux system user account named wso2carbon with user id 802 and a system group named wso2 with group id 802. Add the wso2carbon user to the group wso2.

groupadd --system -g 802 wso2
useradd --system -g 802 -u 802 wso2carbon

Minimum High Availability Deployment


Download installation archive for WSO2 Stream Processor Kubernetes Resources. In the context of this document, KUBERNETES_HOME will refer to a local extracted archive and HELM_HOME will refer to <KUBERNETES_HOME>/advanced/helm/pattern-distributed.


Setup a Network File System (NFS) to be used for persistent storage.

Create and export unique directory within the NFS server instance for the following Kubernetes Persistent Volume resource defined in the <HELM_HOME>/pattern-distributed/values.yaml file:

  • sharedSiddhiFilesLocationPath

Grant ownership to wso2carbon user and wso2 group, for each of the previously created directories.

sudo chown -R wso2carbon:wso2 <directory_name>

Grant read-write-execute permissions to the wso2carbon user, for each of the previously created directories.

chmod -R 700 <directory_name>

Provide configurations.

a. The default product configurations are available at <HELM_HOME>/pattern-distributed/confs folder.
b. Open the <HELM_HOME>/pattern-distributed/values.yaml and provide the following values.

Parameter Description
username Your WSO2 username
password Your WSO2 password
email Your WSO2 username
serverIp NFS Server IP
sharedDeploymentLocationPath NFS location path for shared Siddhi file directory (<<SP_HOME>/deployment/siddhi-files/)

Deploy product database(s) using MySQL in Kubernetes.

helm install --name sp-rdbms -f <HELM_HOME>/mysql/values.yaml stable/mysql --namespace wso2

For a serious deployment (e.g. production grade setup), it is recommended to connect product instances to a user owned and managed RDBMS instance.


Deploy the fully distributed deployment of WSO2 Stream Processor.

helm install --name <RELEASE_NAME> <HELM_HOME>/pattern-distributed

Access product management consoles.

Obtain the external IP (EXTERNAL-IP) of the Ingress resources by listing down the Kubernetes Ingresses.

kubectl get ing -n wso2

Add the above host as an entry in /etc/hosts file as shown below:

<EXTERNAL-IP> wso2sp-dashboard
<EXTERNAL-IP> wso2sp-manager-1
<EXTERNAL-IP> wso2sp-manager-2

Try navigating to https://wso2sp-dashboard/monitoring from your favorite browser.

Having trouble? Read our FAQ