There are multiple scheduling options available in Kubernetes:
- Taints & tolerations - https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
- Affinity & anti-affinity - https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
- Setting
nodeSelector
&nodeName
attributes - https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ - Pod topology spread constraint - https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/