From d8b3111d271acc32b7f18315800aab9753fdb259 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Mon, 8 Feb 2021 11:19:18 -0500 Subject: [PATCH] Limit ranges are being applied with cpu-cfs-quota set to false --- .../nodes-cluster-overcommit-node-enforcing.adoc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/nodes-cluster-overcommit-node-enforcing.adoc b/modules/nodes-cluster-overcommit-node-enforcing.adoc index 485c67e000c3..e45582e353af 100644 --- a/modules/nodes-cluster-overcommit-node-enforcing.adoc +++ b/modules/nodes-cluster-overcommit-node-enforcing.adoc @@ -9,6 +9,12 @@ Nodes by default enforce specified CPU limits using the Completely Fair Scheduler (CFS) quota support in the Linux kernel. +If you disable CPU limit enforcement, it is important to understand the impact on your node: + +* If a container has a CPU request, the request continues to be enforced by CFS shares in the Linux kernel. +* If a container does not have a CPU request, but does have a CPU limit, the CPU request defaults to the specified CPU limit, and is enforced by CFS shares in the Linux kernel. +* If a container has both a CPU request and limit, the CPU request is enforced by CFS shares in the Linux kernel, and the CPU limit has no impact on the node. + .Prerequisites . Obtain the label associated with the static `MachineConfigPool` CRD for the type of node you want to configure. Perform one of the following steps: @@ -63,15 +69,10 @@ spec: matchLabels: custom-kubelet: small-pods <2> kubeletConfig: - cpu-cfs-quota: <3> + cpuCfsQuota: <3> - "false" ---- <1> Assign a name to CR. <2> Specify the label to apply the configuration change. -<3> Set the `cpu-cfs-quota` parameter to `false`. - -If CPU limit enforcement is disabled, it is important to understand the impact that will have on your node: +<3> Set the `cpuCfsQuota` parameter to `false`. -* If a container makes a request for CPU, it will continue to be enforced by CFS shares in the Linux kernel. -* If a container makes no explicit request for CPU, but it does specify a limit, the request will default to the specified limit, and be enforced by CFS shares in the Linux kernel. -* If a container specifies both a request and a limit for CPU, the request will be enforced by CFS shares in the Linux kernel, and the limit will have no impact on the node.