Introduction

A Taint is a kind of "repellent" applied to a Kubernetes node. It tells the Kubernetes scheduler not to schedule any pods on that node.

So, what if I want to schedule a pod on a tainted node? This is where toleration comes in.

In a pod's configuration, you can define toleration parameters. This configuration lets the pod be placed on nodes that have specific taints.

In simple terms, a pod with tolerations can run on tainted nodes.

A simple analogy would be imagining a house with four rooms, one of which contains smoke (taint). If a person (pod) wishes to enter this room, they should wear a mask (toleration). If the person doesn't wear the mask (no toleration), he can't enter the room.

The following image illustrates it better.

From Kubernetes perspective, Taints are added to nodes, while tolerations are defined in the pod specification.

In the next lesson we will look at how Taint works.

Complete and Continue