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
kubectl create namespace hivemq
Set the namespace as the default
kubectl config set-context --current --namespace=hivemq
You can confirm your namespace using the following
kubectl config view --minify -o jsonpath='{..namespace}'
Add Helm repository
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:
helm repo add hivemq https://hivemq.github.io/helm-charts
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
helm show values hivemq/hivemq-operator > values.yaml
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
helm upgrade hivemq --install hivemq/hivemq-operator --values values.yaml
Verify if 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
kubectl get pods
Check the Hivemq deployment log by running the following and checking for INFO - Started HiveMQ in XYZ ms
kubectl logs deployments/hivemq | grep 'Started HiveMQ in'