Configuring tolerations and node selectors

On a self-hosted instance of Ephemeral, you can configure the nodes where Ephemeral can schedule pods.

If your Kubernetes nodes are configured with taints, then you can configure the tolerations that enable the pods to be scheduled on the nodes. Overview of taints and tolerations in Kubernetes documentation.

You can also configure node selectors. Overview of node selectors in the Kubernetes documentation.

Helm chart settings for tolerations and node selectors

In the Helm chart, you use the following settings to configure the tolerations and node selectors.

# For each workload type (app, bastion, database, volumeExtractor, dataPacker):
  # To use node selectors, set useNodeSelector to true, then provide the node selector key and labels. Each workload type must have a label. However, different workloads can have the same label.
  # To use tolerations, set useTolerations to true, then provide the tolerations key, operator, values, and effect. Each workload type must have values. However, different workloads can use the same values.

workload:
  useNodeSelector: false
  nodeSelectorKey: null
  appWorkloadLabel: null
  bastionWorkloadLabel: null
  databaseWorkloadLabel: null
  volumeExtractorWorkloadLabel: null
  dataPackerWorkloadLabel: null

  useTolerations: false
  tolerationsKey: null
  tolerationsOperatorProperty: null
  appTolerationsValue: null
  bastionTolerationsValue: null
  databaseTolerationsValue: null
  volumeExtractorTolerationsValue: null
  dataPackerTolerationsValue: null
  tolerationsEffect: null

Node selector settings

Here are the settings for node selectors:

useNodeSelector

Whether to use a node selector to manage node access.

The default is false.

To enable the node selector, set this to true.

nodeSelectorKey

The node selector key.

appWorkloadLabel

The label to apply to the pod that runs the Ephemeral API.

bastionWorkloadLabel

The label to apply to the pod that manages SSH access to Ephemeral databases.

databaseWorkloadLabel

The label to apply to the pod that Ephemeral creates for databases.

volumeExtractorWorkloadLabel

The label to apply to the pod that prepares a registry artifact to be used to start a new Ephemeral database.

dataPackerWorkloadLabel

The label to apply to the pod that processes the API option to create a snapshot when a database expires.

Tolerations settings

Here are the settings for tolerations:

useTolerations

Whether to use tolerations to manage node access.

The default is false.

To enable tolerations, set this to true.

tolerationsKey

The tolerations key.

tolerationsOperatorProperty

The tolerations operator.

appTolerationsValue

The tolerations value to apply to the pod that runs the Ephemeral API.

bastionTolerationsValue

The tolerations value to apply to the pod that manages SSH access to Ephemeral databases.

databaseTolerationsValue

The tolerations value to apply to the pods that Ephemeral creates for databases.

volumeExtractorTolerationsValue

The tolerations value to apply to the pod that prepares a registry artifact to be used to start a new Ephemeral database.

dataPackerTolerationsValue

The tolerations value to apply to the pod that processes the API option to create a snapshot when a database expires.

tolerationsEffect

The tolerations effect.

Last updated