Adding tolerations to components in the Rancher Logging chart
This document (000020895) is provided subject to the disclaimer at the end of this document.
Environment
- Rancher v2.5.x, v2.6.x or v2.7.x
- Rancher Logging Chart
- Taints defined on cluster nodes
Situation
When deploying the Rancher logging chart, Pods are not scheduled, where user-added taints are present on cluster nodes, and tolerations are not set on the rancher-logging chart. If only some nodes within the cluster are tainted, logs will be missing from those nodes. If all nodes are tainted, no logs will be forwarded and Pods for Deployments within the Rancher Logging will fail to schedule with an error of the following format:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling <unknown> default-scheduler 0/3 nodes are available: 3 node(s) had taints that the pod didn't tolerate
Resolution
If there are user-added taints on nodes within the cluster, tolerations for these taints must be added in the rancher-logging chart via the tolerations value, alongside the default cattle.io/os=linux NoSchedule toleration.
For example, if the taint with key=foo, value=bar and effect=NoSchedule is present on nodes within the cluster, the following tolerations should be defined in the values of the rancher-logging Chart:
tolerations:
- key: cattle.io/os
operator: "Equal"
value: "linux"
effect: NoSchedule
- key: foo
operator: "Equal"
value: "bar"
effect: NoSchedule
Cause
Nodes with specific taints will deny the scheduling of any pod if no matching toleration is present on the workload.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.