Scheduling of K8s pods
The helm chart configuration parameter nodeSelector for onedb and onedbcm are used to support Node affinity. It allows you to select a preconfigured set of K8s nodes to run on.
onedb:
nodeSelector:
database: onedb
onedbcm:
nodeSelector:
cm: onedbcm The helm charts have an unconfigured parameter tolerations to allow for full configuration of taints and tolerations for K8s scheduling of pods. This can be used to specify a node taint, which means no pod can be scheduled on the node unless it has a matching toleration. Then a OneDB server is labeled with a toleration to allow it to run on the tainted nodes.
kubectl taint nodes node1 tainted4onedb=onedb-only:NoSchedule
onedb:
tolerations:
- key: “tainted4onedb”
operator: “Exists”
effect: “NoSchedule”