Table of Contents |
---|
Prerequisite
Access to infrastructure with Kubectl
Kubectl, Helm and MQTT CLI Prerequisite - Software Packages
We recommend creating separate namespaces for each product e.g. HiveMQ, Kafka, Swarm etc to easily manage the installations.
Create a HiveMQ namespace
Create a new namespace
Code Block kubectl create namespace hivemq
Set the namespace as the default
Code Block kubectl config set-context --current --namespace=hivemq
You can confirm your namespace using the following
Code Block kubectl config view --minify -o jsonpath='{..namespace}'
Add Helm repository and download values.yaml file
To use the HiveMQ Kubernetes Operator to deploy and manage your HiveMQ cluster on the Kubernetes nodes, you need to add the HiveMQ Helm repository to your Helm installation:
...
Code Block |
---|
helm repo update |
Download the
values.yaml
file and open it in a code editor of your choice( we use VSCode). This file will be modified for configuration changes in the future
...
The values.yaml contains resource definitions such as cpu , memory , disk size and others. In our case we use the following
nodecount: 3
cpu: "4"
memory: "4Gi"
ephemeralStorage: "15Gi"
Apply the changes to the cluster
Pod creation takes time(~3 min for us), please check the pods and services for latest status.
Code Block |
---|
helm upgrade hivemq --install hivemq/hivemq-operator --values values.yaml |
Verify if the HiveMQ Cluster is running successfully
Please make sure that pods are running successfully after the change, it may take some time for the pods to be ready
...
Code Block |
---|
kubectl logs deployments/hivemq | grep 'Started HiveMQ in' |
Next steps
Enable load balancer Expose MQTT port 1883 and test with message flow using MQTT CLI
Monitoring enablement and exporting with HiveMQ AKS Clusterand Metrics Exporting using HiveMQ Operator