To set corresponding taints on nodes, use the
kubectl taint
command.Toleration parameters
Tolerations in Chronosphere Telemetry Pipeline use the following parameters:| Parameter | Description |
|---|---|
key | Required for tolerations with the Equal operator. The key to evaluate against matching taints. If a toleration with the Equal operator omits this parameter, that toleration will match all keys and values. |
operator | Required. The operator that determines whether a toleration matches a taint. Possible values are Equal and Exists. Equal: The toleration matches a taint if the taint has a key/value pair identical to the toleration’s key and value parameters. Exists: The toleration matches a taint if the taint has a key with the same name as the toleration’s key parameter. |
value | Required for tolerations with the Exists operator, but must be omitted for tolerations with the Equal operator. The value to evaluate against matching taints. |
effect | Required. The effect to evaluate against matching taints. Possible values are NoSchedule, PreferNoSchedule, and NoExecute. NoSchedule: Except for pods with a matching toleration, no new pods will be scheduled onto nodes with this taint. PreferNoSchedule: The scheduler will try to avoid placing new non-matching pods on nodes with this taint. NoExecute: Pods that are already running on a node will be evicted if they don’t have a matching toleration, and pods with a matching toleration will be evicted after the duration of tolerationSeconds, if set. |
tolerationSeconds | For tolerations with the NoExecute effect, defines how long (in seconds) pods with a matching toleration will remain bound before being evicted. If this parameter is omitted, pods with a matching toleration will remain bound indefinitely. |
Pipeline tolerations
Use the following information to modify tolerations for individual pipelines.Set tolerations for a pipeline
To set tolerations for a new pipeline:- Create a JSON file with your toleration specifications.
-
Use Pipeline CLI to either create a pipeline
or modify a pipeline, and add
the following flag to the associated command:
Replace
FILEwith the path to your tolerations JSON file.
Remove tolerations from a pipeline
To remove tolerations from a pipeline:-
Create a JSON file with an empty array (
[]). -
Use Pipeline CLI to modify a pipeline,
and add the following flag to that command:
Replace
EMPTY-ARRAYwith 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
- Helm
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 Replace the following values:
--tolerations flag: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: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. [info about tolerations with an empty key? or with an empty effect?]
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.