Kubernetes HiveMQ cluster fails to apply CPU cores specified in values.yaml
Problem
The custom configuration of CPU core limits is not being applied to the HiveMQ cluster running in Kubernetes when using the HiveMQ operator.
Solution
If you are experiencing issues with the CPU core limits not being applied to your HiveMQ cluster in Kubernetes while using the HiveMQ operator, there may be a configuration issue in your Kubernetes cluster setup. You can follow the steps below to troubleshoot and verify the configuration:
Run the following commands inside the container and check if the output matches the expected CPU core count:
kubectl apply -f pod.yaml kubectl logs debugging
Once you have verified the CPU core count, you can remove the pod:kubectl delete pod --grace-period=0 --force debugging
Check the value of the
cgroupDriver
used by your Kubernetes cluster to ensure it is correctly configured:kubectl describe node <node-name> | grep -i cgroupdriver
This will help you confirm the set
cgroupDriver
and then you can verify if it allows to apply CPU limits.Double-check if there are any configurations in place that might be preventing the container from seeing any CFS (Completely Fair Scheduler) quota. Verify that options like
--cpu-cfs-quota=false
or similar are not configured. Such configurations are usually found in the worker node's file located at/etc/kubernetes/kubelet.conf
.If you are using a security tool called "sysdig," please be aware that it can block the cgroup v2 interaction of a pod. This can result in the CPU limits specified in the HiveMQ operator values.yaml file not being applied.
By following these troubleshooting steps, you can identify and address any configuration issues that may be preventing the custom CPU core limits from being applied to your HiveMQ cluster in Kubernetes.