Skip to main content
This information is for Chronosphere Telemetry Pipeline, which is a standalone product separate from Chronosphere Observability Platform.
Tolerations and taints are Kubernetes features that lets you control which nodes your pipelines run on. You can use tolerations to schedule your pipelines on Kubernetes nodes with matching taints. In Chronosphere Telemetry Pipeline, you can set tolerations for Core Instances and for individual pipelines. Any tolerations set for a Core Instance apply to all pipelines associated with that Core Instance, but tolerations set for an individual pipeline override any tolerations set for its corresponding Core Instance.
To set corresponding taints on nodes, use the kubectl taint command.

Toleration parameters

Tolerations in Chronosphere Telemetry Pipeline use the following parameters:

Pipeline tolerations

Use the following information to modify tolerations for individual pipelines.

Set tolerations for a pipeline

To set tolerations for a new pipeline:
  1. Create a JSON file with your toleration specifications.
  2. Use Pipeline CLI to either create a pipeline or modify a pipeline, and add the following flag to the associated command:
    Replace FILE with the path to your tolerations JSON file.

Remove tolerations from a pipeline

To remove tolerations from a pipeline:
  1. Create a JSON file with an empty array ([]).
  2. Use Pipeline CLI to modify a pipeline, and add the following flag to that command:
    Replace EMPTY-ARRAY with the path to your JSON file with an empty array.

Core Instance tolerations

Use one of these methods to set tolerations for a Core Instance.
Pipeline CLI lets you specify tolerations for new Core Instances. However, you can’t use Pipeline CLI to add or modify tolerations for an existing Core Instance.To specify tolerations for a new Core Instance, use the --tolerations flag:
Replace the following values:
  • INSTANCE: The name for your new Core Instance.
  • STRING: The string that specifies your tolerations.

Toleration string syntax

The string that specifies your tolerations must follow this syntax:
You can also leave certain sections of this string blank to omit certain toleration parameters as permitted. For example, foo=Exists::PreferNoSchedule is a valid toleration string. Because tolerationSeconds isn’t a required parameter and only applies to the NoExecute effect, you can omit the :tolerationSeconds portion of this syntax as necessary. Additionally, tolerations with the Exists operator must omit the value portion of this syntax but retain its preceding colon. For example, this is a valid toleration string:

Toleration JSON syntax

Per-pipeline tolerations require Chronosphere Telemetry Pipeline v2.34.0 or later.
The JSON file that specifies your tolerations must follow this syntax:
Each toleration must be a structured object, and multiple tolerations must be stored as items within an array of structured objects. If a specific toleration doesn’t need a particular parameter, omit that parameter entirely. For example, this is a valid toleration JSON file: