- Prerequisites
- Clone ST-RMQTT PE K8S repository
- Installation
- Get the license key
- Configure the license key
- Running
- Logs, delete statefulsets and services
- Upgrading
- Next steps
This guide will help you set up ST-RMQTT PE in cluster mode using Minikube.
Prerequisites
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.
If you don’t have Minikube installed, please follow these instructions.
Clone ST-RMQTT PE K8S repository
1
2
git clone -b release-2.2.0 https://github.com/sentient/st-rmqtt-pe-k8s.git
cd st-rmqtt-pe-k8s/minikube
Installation
To install ST-RMQTT PE, execute the following command:
1
./k8s-install-st-rmqtt.sh
Get the license key
Before proceeding, make sure you’ve selected your subscription plan or chosen to purchase a perpetual license. If you haven’t done this yet, please visit the Pricing page to compare available options and obtain your license key.
Note: Throughout this guide, we’ll refer to your license key as YOUR_LICENSE_KEY_HERE.
Configure the license key
Create a k8s secret with your license key:
1
2
export ST-RMQTT_LICENSE_KEY=YOUR_LICENSE_KEY_HERE
kubectl create -n sentient-mqtt-broker secret generic st-rmqtt-license --from-literal=license-key=$ST-RMQTT_LICENSE_KEY
Running
Execute the following command to deploy ST-RMQTT PE:
1
./k8s-deploy-st-rmqtt.sh
After a while when all resources will be successfully started you can open http://{your-cluster-ip}:30001 in your browser (e.g. http://192.168.49.2:30001).
You can check your cluster IP using the following command:
1
minikube ip
You should see ST-RMQTT login page. Use the following default credentials for System Administrator:
Username:
1
sysadmin@sentient.org
Password:
1
sysadmin
On the first user log-in you will be asked to change the default password to the preferred one and then re-login using the new credentials.
Logs, delete statefulsets and services
In case of any issues, you can examine service logs for errors. For example, to see ST-RMQTT node logs execute the following commands:
1) Get the list of the running st-rmqtt pods:
1
kubectl get pods -l app=st-rmqtt
2) Fetch logs of the st-rmqtt pod:
1
kubectl logs -f ST-RMQTT_POD_NAME
Where:
ST-RMQTT_POD_NAME- st-rmqtt pod name obtained from the list of the running st-rmqtt pods.
Or use the next command to see the state of all the pods.
1
kubectl get pods
Use the next command to see the state of all the services.
1
kubectl get services
Use the next command to see the state of all the deployments.
1
kubectl get deployments
Use the next command to see the state of all the statefulsets.
1
kubectl get statefulsets
See kubectl Cheat Sheet command reference for more details.
Execute the following command to delete ST-RMQTT nodes:
1
./k8s-delete-st-rmqtt.sh
Execute the following command to delete all resources (including the databases):
1
./k8s-delete-all.sh
Upgrading
Review the release notes and upgrade instruction for detailed information on the latest changes.
If the documentation does not cover the specific upgrade instructions for your case, please contact us so we can provide further guidance.
Backup and restore (Optional)
While backing up your PostgreSQL database is highly recommended, it is optional before proceeding with the upgrade. For further guidance, follow the next instructions.
Upgrade from ST-RMQTT CE to ST-RMQTT PE (v2.2.0)
To upgrade your existing ST-RMQTT Community Edition (CE) to ST-RMQTT Professional Edition (PE), ensure you are running the latest ST-RMQTT CE 2.2.0 version before starting the process. Merge your current configuration with the latest ST-RMQTT PE K8S scripts. Do not forget to configure the license key.
Run the following commands, including the upgrade script to migrate PostgreSQL database data from CE to PE:
1
2
3
./k8s-delete-st-rmqtt.sh
./k8s-upgrade-st-rmqtt.sh --fromVersion=ce
./k8s-deploy-st-rmqtt.sh
Next steps
-
Getting started guide - This guide provide quick overview of ST-RMQTT.
-
Security guide - Learn how to enable authentication and authorization for MQTT clients.
-
Configuration guide - Learn about ST-RMQTT configuration files and parameters.
-
MQTT client type guide - Learn about ST-RMQTT client types.
-
Integration with SENTIENT - Learn about how to integrate ST-RMQTT with SENTIENT.