A node cordon marks a Kubernetes node unschedulable for new pods while leaving existing pods running. Use it before maintenance such as patching, upgrading, or replacing a node. section 5.2.1
Cordon and verify scheduling
Run `kubectl cordon kind-worker`, then verify with `kubectl get no`. The node reports `Ready,SchedulingDisabled`. A new Deployment created with `kubectl create deploy nginx2 --image nginx` remains Pending, while existing pods continue running. section 5.2
Separate cordoning from the rest of the maintenance workflow:
- Cordon blocks scheduling but does not evict pods already running on the node. section 5.2.1
- Drain evicts running pods and allows controllers such as ReplicaSets to recreate them elsewhere; use `kubectl drain kind-worker --ignore-daemonsets` when appropriate. section 5.2.1
- Uncordon the node afterward with `kubectl uncordon kind-worker`, or scheduling remains disabled. section 5.2.1
