diff --git a/modules/monitoring-assigning-tolerations-to-monitoring-components.adoc b/modules/monitoring-assigning-tolerations-to-monitoring-components.adoc new file mode 100644 index 000000000000..e730f16a3db7 --- /dev/null +++ b/modules/monitoring-assigning-tolerations-to-monitoring-components.adoc @@ -0,0 +1,66 @@ +// Module included in the following assemblies: +// +// * monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc + +[id="assigning-tolerations-to-monitoring-components_{context}"] += Assigning tolerations to monitoring components + +You can assign tolerations to any of the monitoring stack components to enable moving them to tainted nodes. + +.Prerequisites + +* Make sure you have the `cluster-monitoring-config` ConfigMap object with the `data/config.yaml` section. + +.Procedure + +. Start editing the `cluster-monitoring-config` ConfigMap: ++ +---- +$ oc -n openshift-monitoring edit configmap cluster-monitoring-config +---- + +. Specify `tolerations` for the component: ++ +[source,yaml,subs=quotes] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: cluster-monitoring-config + namespace: openshift-monitoring +data: + config.yaml: | + *_component_*: + tolerations: + *_tolerations specification_* +---- ++ +Substitute `` and `` accordingly. ++ +For example, a `kubectl taint nodes node1 key1=value1:NoSchedule` taint prevents the scheduler from placing pods in `foo: bar`. To make the `alertmanagerMain` component ignore that taint and to place `alertmanagerMain` in `foo: bar` normally, use this toleration: ++ +[source,yaml,subs=quotes] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: cluster-monitoring-config + namespace: openshift-monitoring +data: + config.yaml: | + alertmanagerMain: + nodeSelector: + foo: bar + *tolerations: + - key: "key1" + operator: "Equal" + value: "value1" + effect: "NoSchedule"* +---- + +. Save the file to apply the changes. The new component placement configuration is applied automatically. + +.Additional resources + +* See the xref:../../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations[{product-title} documentation] on taints and tolerations. +* See the link:https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/[Kubernetes documentation] on taints and tolerations. diff --git a/monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc b/monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc index 64c4faebba63..f77c3c050d87 100644 --- a/monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc +++ b/monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc @@ -21,6 +21,7 @@ include::modules/monitoring-creating-cluster-monitoring-configmap.adoc[leveloffs include::modules/monitoring-configuring-the-cluster-monitoring-stack.adoc[leveloffset=+1] include::modules/monitoring-configurable-monitoring-components.adoc[leveloffset=+1] include::modules/monitoring-moving-monitoring-components-to-different-nodes.adoc[leveloffset=+1] +include::modules/monitoring-assigning-tolerations-to-monitoring-components.adoc[leveloffset=+1] [id="configuring-persistent-storage"] == Configuring persistent storage