Managing the Kubernetes Scheduler
Kubernetes provides many parameters and objects through which we can manage the behavior of the Kubernetes Scheduler. We will look into the following ways of managing the scheduling process:
- Node affinity and anti-affinity
- Pod affinity and anti-affinity
- Pod priority and preemption
- Taints and tolerations
Node Affinity and Anti-Affinity
Using node affinity rules, a Kubernetes cluster administrator can control the placement of Pods on specific sets of nodes. Node affinity or anti-affinity allows you to constrain which nodes a Pod can run on based on the labels of the nodes.
Imagine that you are an administrator of the shared Kubernetes cluster in a bank. Multiple teams are running their applications on the same cluster. Your organization's security group has identified nodes that can run data-sensitive applications and would like you to make sure that no other applications run on those nodes. Node affinity or anti...