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:
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>
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.
|username||“” - For open source deployments, this field should be empty.|
|password||“” - For open source deployments, this field should be empty.|
|“” - For open source deployments, this field should be empty.|
|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.