Force all pods in a specific namespace to schedule on defined hosts with Kubernetes
Sometimes, we need to stick pods to specific hosts to isolate business critical workloads from others, or take advantage of different server types. We can do it by assigning a critical taint on a node as follows (critical can be changed to whatever you like):
kubectl taint nodes node1 role=critical:NoSchedule or using kops, on a newly created critical InstanceGroup :
spec: taints: - role=critical:NoSchedule Nodes having this taint won’t schedule any pods that don’t have a toleration assigned to them.