<p>I would like to set the value <code>KubeletConfiguration.cpuCFSQuota = false</code> in the <code>config.yaml</code> passed to <code>kubeadm</code> when launching <code>minikube</code> to turn off CPU resource checking, but I have not managed to find the options to do this through the documentation here <a href="https://minikube.sigs.k8s.io/docs/handbook/config/" rel="nofollow noreferrer">https://minikube.sigs.k8s.io/docs/handbook/config/</a> .  The closest solution I have found is to use the option <code>--extra-config=kubelet.cpu-cfs-quota=false</code> but the <code>--cpu-cfs-quota</code> option for the <code>kubelet</code> has been deprecated and no longer  has an effect.</p>
<p>Any ideas appreciated.</p>
<p>Environment:</p>
<ul>
<li>Ubuntu 20.04</li>
<li>Minikube 1.17.1</li>
<li>Kubernetes 1.20.2</li>
<li>Driver docker (20.10.2)</li>
</ul>
<p>Thanks,
Piers.</p>

<p>Using the <code>--extra-config=kubelet.</code> flag alongside <code>minikube start</code> is a good approach but you would also need to <a href="https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/" rel="nofollow noreferrer">Set Kubelet parameters via a config file</a>.</p>
<p>As you already noticed the <code>--cpu-cfs-quota</code> flag:</p>
<blockquote>
<p>Enable CPU CFS quota enforcement for containers that specify CPU
limits (DEPRECATED: This parameter should be set via the config file
specified by the Kubelet's <code>--config</code> flag.</p>
</blockquote>
<p>So you need to set that parameter by creating a <code>kubelet</code> config file:</p>
<blockquote>
<p>The configuration file must be a JSON or YAML representation of the
parameters in this struct. Make sure the Kubelet has read permissions
on the file.</p>
<p>Here is an example of what this file might look like:</p>
<pre><code>apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
evictionHard:
    memory.available:  &quot;200Mi&quot;
</code></pre>
</blockquote>
<p>Now you can use that config file to set <code>cpuCFSQuota</code> = <code>false</code>:</p>
<pre><code>// cpuCFSQuota enables CPU CFS quota enforcement for containers that
// specify CPU limits.
// Dynamic Kubelet Config (beta): If dynamically updating this field, consider that
// disabling it may reduce node stability.
// Default: true
// +optional`
CPUCFSQuota *bool `json:&quot;cpuCFSQuota,omitempty&quot;
</code></pre>
<p>and than call minikube with <code>--extra-config=kubelet.config=/path/to/config.yaml</code></p>
<p>Alternately, you can start your minikube without the <code>--extra-config</code> flag and than <a href="https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/#start-a-kubelet-process-configured-via-the-config-file" rel="nofollow noreferrer">start the Kubelet with the <code>--config</code> flag</a> set to the path of the Kubelet's config file. The Kubelet will then load its config from this file.</p>
<p>I know these are a few steps more than you expected but setting the kubelet parameters via a config file is the recommended approach because it simplifies node deployment and configuration management.</p>
