Outdated Version

You are viewing an older version of this section. View current production version.

MemSQL 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 memsql-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.

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