Reputation: 75
I have a kubernetes cluster which hosts an application that can execute test cases concurrently. Each test case executor only uses a fraction of the available CPUs so we can let like 50 of them run at the same time in a replica set and this way the VMs' capacity will be fully utilized. Each pods' CPU usage is independent of how many replicas I have. More pods just mean that all the test cases will be executed faster.
What I would like to achieve is to be able to execute multiple test runs simultaneously. What I imagine is when I deploy a new replica set, the first one will scale down to 25 pods and the new one would come in with 25 as well. When the first one finishes execution the second could scale up to 50 keeping the overall cluster allocation at a constant 80%.
Also if I were to add a new VM, it could figure out that it can add say 15 more pods to make use of the newly available resources.
Whats the best way to solve it? I'm using microk8s.
Thanks in advance :)
Upvotes: 0
Views: 29