Do burstable pods "steal" unused CPU requests from other pods?

Do CPU requests “reserve” a certain amount of CPU (preventing other things from using it)?

That is, if a pod requests 200m CPU, but at any point in time, it’s using only, say 10m CPU, does this under-utilization mean that 190m CPU are not available for other “burstable” pods to use?

The reason I’m asking is that I’m trying to find a way to measure this noisy neighbor problem for various pods that are “burstable” with prometheus metrics while some of these pods are under-utilized. If a pod can “steal” CPU from another pod’s “reserved” CPU if it’s not using it, then I guess that means this noisy neighbor problem is less of an issue than I thought.

Thanks!

Cluster information:

Kubernetes version: 1.17.9
Cloud being used: AKS
Installation method: ARM templates
Host OS: Ubuntu (I think?)
CNI and version: not sure - whatever AKS uses
CRI and version: not sure - whatever AKS uses

Unless you set a CPU limit (as opposed to request) your pod may use any idle CPU on the machine. If there is no idle CPU all pods will use approximately their requests.

1 Like