liveBook · Manning

Toleration

As explained in Kubernetes in Action, Second Edition

A toleration is a pod scheduling specification that permits a pod to be scheduled onto a node with a matching taint.

A toleration is a pod scheduling specification that permits a pod to run on a node with a matching taint. Taints commonly keep regular workloads away from control-plane nodes, so workloads needing every node must explicitly tolerate them. section 17.1.2

Allowing a DaemonSet pod onto every node

A DaemonSet can add this pod specification: tolerations: - operator: Exists. The Exists operator makes the pod tolerate all possible taints, allowing daemon pods such as kube-proxy to run on control-plane and worker nodes. section 17.1.2

How Kubernetes in Action, Second Edition covers it

How deep it goes
Defines matching taints and demonstrates Exists, but defers detailed taint effects and toleration matching rules.
Examples
Uses the kube-proxy DaemonSet manifest and its Exists toleration as the concrete scheduling example.
What it assumes
Assumes basic pods and DaemonSets, while introducing taints and tolerations as the scheduling mechanism.
What you can do after
Configure a DaemonSet pod with Exists to tolerate all taints and schedule across control-plane and worker nodes.
How it connects
Connects tolerations with taints, pod scheduling, DaemonSets, control-plane nodes, and kube-proxy.

Also explained in

Compare how 4 books explain toleration →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes in Action, Second Edition. The section links point to the parts of the book it draws on.