Setup: I have 10 Photovoltaics based setup where IOT Gateway get data from sensors, devices and send to Kubernetes Cluster. K8S cluster exposed its ActiveMQ broker with NodePort.

Observation: AMQ has been scheduled on Node2 and i observed that CPU usage of this node is around 75%, As we are collecting lot of messages, But other nodes CPU usage is like 8% to 20%. If we put more load this CPU might reach to 100%.

Although we have CPU resource available but we cant use it, How can I do optimal usage of resources?

I read Apache Mesos and DC/OS but i think still its not possible to run a container workload which requests more cpu /memory than available on its single largest physical/virtul host.

Any thoughts in this regard?


Since Pod is running on single node it can use resources from this node only. And CPU/MEM can't be shared here. At least without special software for distributed computation.

In your case you should consider using ActiveMQ Clustering (https://activemq.apache.org/clustering). In that way you will be able to spread load across multiple k8s nodes with ActiveMQ pods running on them.

So use k8s Deployment + pod affinity to be sure pods will be scheduled to different nodes.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.