Kubernetes – Run workloads on the Control Plane Node

If you ever installed a Kubernetes cluster, you probably know that the minimal setup is composed of 2 nodes: a Control Plane Node (previously called master) and a Worker Node. This is a good thing as we usually don’t want workloads interfering with the API in production environments.

But what about lab environments where you want to run everything in a single VM for example? Well, it’s absolutely possible and actually very simple to configure a Control Plane Node to also accept workloads (pods).

This is managed by “taints”, which is a configuration string applied to nodes. On your Control Plant Node, you can see this by running:

# kubectl describe nodes YourNodeName | grep Taints

It will give you back a string resembling “node-role.kubernetes.io/master:NoSchedule”. NoSchedule, the name says it all.

Well, you can simply remove this taint by running the following command, note the “-” at the end to remove the taint:

kubectl taint nodes YourNodeName node-role.kubernetes.io/master:NoSchedule-

And that’s it, you can now run workload pods on your Control Plane Node in your lab.

Add your feedback

Your email address will not be published. Required fields are marked *