From a2a551a8c8061c0eb273ef13f0fed80709e4b9cd Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Wed, 11 Sep 2019 15:38:34 +0200 Subject: [PATCH] Add the tolerations for monitoring components section Try to fix an internal reference Change the toleration example to a less confusing one Try to fix an xref --- ...-tolerations-to-monitoring-components.adoc | 66 +++++++++++++++++++ .../configuring-the-monitoring-stack.adoc | 1 + 2 files changed, 67 insertions(+) create mode 100644 modules/monitoring-assigning-tolerations-to-monitoring-components.adoc 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 ce5eb8340e4f..af64a98a95ce 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