This experiment demonstrates how Kubernetes reschedules pods when a node is drained.
-
Deploy a test application:
kubectl create deployment nginx --image=nginx --replicas=3
-
Check pod distribution:
kubectl get pods -o wide
-
Drain a worker node:
kubectl drain k3s-worker-1 --ignore-daemonsets --delete-emptydir-data
-
Observe rescheduling:
kubectl get pods -o wide
-
Uncordon the node:
kubectl uncordon k3s-worker-1