Taints & Tolerations
Taints and Tolerations
Just tainted node node01, update tolerations in this application-deployment.yaml pod template and create pod object
Note: Don't remove any specification
controlplane:~$ vi application-deployment.yaml
controlplane:~$ k taint no node01 name=ibtisam:NoSchedule
node/node01 tainted
controlplane:~$ k apply -f application-deployment.yaml
controlplane:~$ k apply -f application-deployment.yaml
pod/redis-pod created
controlplane:~$ k get po
NAME READY STATUS RESTARTS AGE
redis-pod 0/1 Pending 0 5s
controlplane:~$ k describe po redis-pod
Name: redis-pod
Node-Selectors: <none>
Tolerations: name=ibtisam:NoSchedule
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 20s default-scheduler 0/2 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 1 node(s) had untolerated taint {nodeName: workerNode01}. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
controlplane:~$ k edit no node01 # name=ibtisam:NoSchedule removed
node/node01 edited
controlplane:~$ vi application-deployment.yaml
controlplane:~$ k replace -f application-deployment.yaml --force
pod "redis-pod" deleted
pod/redis-pod replaced
controlplane:~$ k get po
NAME READY STATUS RESTARTS AGE
redis-pod 1/1 Running 0 10s
controlplane:~$