Kubernetes - assign fixed resources for pods
HiveMQ follows a cloud-native design and is therefore well equipped to run in Containers like Docker.
HiveMQ is also a high-performance, high-reliability product that requires secured resource access to work at its best.
Therefore we strongly recommend assigning fixed resource values to your pods in k8s deployments.
In case you have your own pod manifests then follow this example configuration:
resources:
requests:
memory: "8GB"
cpu: "4000m"
limits:
memory: "8GB"
cpu: "4000m"
In case you are using the HiveMQ operator helm charts then please follow the below example configuration in your values.yaml
:
hivemq:
cpu: 4
memory: 4Gi
Use full CPU cores (multiples of 1000)
4 CPU and 4 GB RAM is the minimum requirement
Make sure to use the same value for
requests
andlimits
Setting a proper limits
is also important for license considerations, as the HiveMQ pod will otherwise view all CPUs of the K8s node is deployed on as the used CPU count.