Are Kubernetes CPU limits "hard" limits?
Say I have a node with 1 CPU with two pods scheduled and running/ready/active, each with requests.limits.cpu
of 500m. Pod A uses up 1 CPU for a while--this is normal/allowed. Eventually, pod B wants some CPU. Will Kubernetes (or Linux) make sure that pod B can get the .5 CPU it asks for?
Update on Thu Jun 23 16:55:25 UTC 2016
I'm still looking for a definitive answer, but it sounds like these may be hard limits in Linux/Docker. @danielmartins
wrote this in the k8s slack channel:
I believe you can find this out by running
docker inspect
on the containers in which you set the limits. Checking one of my containers, I see that Kubernetes setCpuPeriod
,CpuQuota
for them. The Docker docs (https://docs.docker.com/engine/reference/run/) mention the CFS documentation (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt), and from the information there, it seems that these are hard limits