<p>I am starting up a cluster using minikube and found the node to be started as control-plane node, but interestingly I found the taints to be none. Because the taints is none, I see pods being scheduled on this node.</p>
<pre><code>NAME           STATUS   ROLES           AGE   VERSION
minikube       Ready    control-plane   76d   v1.24.3
minikube-m02   Ready    &lt;none&gt;          18m   v1.24.3
</code></pre>
<p>And below is the taint information,</p>
<pre><code>                    node-role.kubernetes.io/control-plane=
                    node.kubernetes.io/exclude-from-external-load-balancers=
Annotations:        kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/cri-dockerd.sock
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Sun, 21 Aug 2022 22:27:29 -0500
Taints:             &lt;none&gt;
</code></pre>
<p>Any idea why there is this behaviour ?</p>

Ashwin Sridhar
<p>This is the default behavior of minikube because tainting the control plane node is not a Kubernetes requirement especially for the dev/test environments.</p>
<p>You may manually taint your master node using:</p>
<pre><code>kubectl taint nodes minikube node-role.kubernetes.io/master:NoSchedule
</code></pre>
<p>After you apply the taint, drain the master node so the pods scheduled on it shift to the worker node.</p>
<pre><code>kubectl drain minikube --ignore-daemonsets
</code></pre>
