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.

The following example will run the OneDB server on nodes labeled as onedb and the OneDB Connection manager on nodes labeled as onedbcm.
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”