I am new to kubernetes and I was thinking that how cordon works, how it makes the node unschedulable. Does it uses the concept of taints and toleration with the effect of NoExecute, and if not then how cordon is different from taints and tolerations.