Taints and Toleration
While Node affinity is a property of a pod that attracts them to a set of nodes either as a
preference or hard requirement. Taints are the opposite, in that the allow a node to repel a
set of pods. A taint is defined on a
pod.
kubectl taint nodes gke-worker2 type=onedb:NoSchedule
This uses a key/value pair in this example we used type=onedb, with the NoSchedule effect. This means that no pod will be able to schedule onto the node (gke-worker2) unless it has a matching toleration.
You would then need to use the tolerations helm chart parameter override and set the
following:
tolerations:
- key: “type”
operator: “Exists”
effect: “NoSchedule”
Note: Using a combination of Affinity/Anti-Affinity and taints and tolerations, you can control
what nodes OneDB SQL Data store will be schedule on and dictate that those nodes are only used
for OneDB.