Pod Scheduling

Users may declare a schedulingDetails section. This is an optional section that allows scheduling configurations to be set over different groups of pods via the node selector, affinity / anti-affinity, taints, and tolerations attributes. To configure pod scheduling, add the following section to the sdb-cluster.yaml file.

schedulingDetails:
STATEFULSET_TYPE:
nodeName: custom_node_name
nodeSelector:
custom: label
tolerations:
- key: "custom_key"
operator: "Exists"
effect: "NoSchedule"
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
custom: label
topologyKey: "kubernetes.io/hostname"
podAffinity: ...
nodeAffinity: ...
STATEFULSET_TYPE:
...

STATEFULSET_TYPE is one of master, aggregator, leaf-ag1, or leaf-ag2. Scheduling details that are specified within the StatefulSet type will be passed directly to the pods that are owned by that StatefulSet.

For Operator versions 3.6.0 and later, the Parallel pod management policy is used to reduce the start-up time by child aggregators in parallel. For Operator versions earlier than 3.6.0, the OrderedReady pod management policy is used. Refer to Pod Management Policies for more information.

Refer to the Kubernetes.io documentation for more information about these attributes.

Last modified: May 22, 2023

Was this article helpful?