1

I am looking for a solution for kubernetes which allows some kind of CPU pinning for my PODs (some kind of quality of service).

I want to create a pool from the available CPU cores and then assign the PODs to one of them. PODs within a CPU pool would compete with each other while PODs in separate pools would not be able to influence each other's performance.

As far as I see current CPU manager solution of Kubernetes can assign CPU cores and PODs to each other without the abstraction of pools.

One special requirement is that the host is immutable so there is no way to change anything outside of kubernetes, but inside all should be manageable on demand.

Thanks!

Halacs
  • 832
  • 2
  • 8
  • 19
  • Isn't that [Static policy](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#static-policy)? – Crou Jun 04 '20 at 15:20
  • As far as I understand static policy offers a bit less. I can't assign a group of PODs to a group of CPUs with static policy. – Halacs Jun 11 '20 at 12:09
  • What do you mean by group of CPUs? Tell me what exactly is needed because those information are just basic stuff. – Crou Jun 18 '20 at 10:37
  • I want to assign several PODs into one QoS group while other PODs into another QoS group. QoS would be here at CPU level. Eg. POD1 and POD2 would share CPU cores with each other but POD3, POD4 and POD5 should not have any impact on the first two but sharing CPUs with each other (P1 share CPU cores with P2, while P3 shares CPU cores with P4 and P5). – Halacs Jun 19 '20 at 11:14
  • @Halacs Did you figure this out? I have a similar requirement where I need to restrict an app/deployment to run on specific cpus only (say 0-3 or just 1 or 2 etc.) – Koshur Feb 14 '22 at 19:58
  • @Koshur There was no good enough solution unfortunately. I realized my team should implement something but finally it never happened. – Halacs Feb 15 '22 at 20:24
  • There is a project by Nokia engineers which do exactly this. https://github.com/nokia/CPU-Pooler Is it 4 years without updates but it is at least starting point. Here is talk info https://onseu19.sched.com/event/SYvn/lightning-talk-advancing-cpu-management-in-kubernetes-levente-kale-nokia. Slides for the talk: slides https://static.sched.com/hosted_files/onseu19/1f/Advancing_CPU_management_in_K8s_V4.pdf – Alexander C. May 08 '23 at 14:16

0 Answers0