<p>From here i realized, if container is not given CPU limits, then it takes up default CPU limits from Namespace level: <a href="https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/</a></p>

<p>My question is, what if we have not set default CPU limits (LimitRange) in Namespace level. In this case what CPU limits does Container is assigned ?</p>

<p>Thanks. </p>

<p>If a container doesn't specify its own CPU request and limit, it is assigned the default CPU request and limit from the LimitRange, if such LimitRange is configured for the namespace.</p>

<p>If LimitRange isn't configured for the namespace and container doesn't specify its own CPU request and limit, the pod runs in the <code>BestEffort</code> QoS (Quality of Service) class. In this case, the CPU is given from a <a href="https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/" rel="noreferrer">shared pool</a> for the node, up to the available CPU in the shared pool and if there is CPU available in it. In practice, there may not be any CPU available and the pod/container could "starve" for CPU.</p>
