Why does not Kubernetes allow to run pods on master nodes by default?

5/20/2021

By default Kubernetes cluster has a taint on master nodes that does not allow to schedule any pods to them.

What is the reason for that?

Docker Swarm, for example, allows to run containers on manager nodes by default.

-- yaskovdev
kubernetes

1 Answer

5/21/2021

Safety during failures. Imagine if a pod running on a control plane node started eating all your CPU. Easy to fix right, just kubectl delete pod and restart it. Except if that CPU outburst has kube-apiserver or Etcd locked up, then you have no way to fix the problem through the normal tools. As such, it's usually just safer to keep unvetted workloads off the control plane nodes.

-- coderanger
Source: StackOverflow