From 8ee3e707e7c8f158aca63a202888675cfa7a532e Mon Sep 17 00:00:00 2001 From: Feruzjon Muyassarov Date: Mon, 16 Oct 2023 15:15:39 +0300 Subject: [PATCH] helm: add an option to set tolerations In some clusters, some of the Nodes might have taints which may avoid NRI plugins DaemonSet Pods not to get scheduled on those Nodes. Having an option to pass custom tolerations to plugins DaemonSet object would help to ensure that Pods get scheduled on all the desired Nodes. Signed-off-by: Feruzjon Muyassarov --- deployment/helm/balloons/templates/daemonset.yaml | 4 ++++ deployment/helm/balloons/values.yaml | 2 ++ deployment/helm/memory-qos/templates/daemonset.yaml | 4 ++++ deployment/helm/memory-qos/values.yaml | 2 ++ deployment/helm/memtierd/templates/daemonset.yaml | 4 ++++ deployment/helm/memtierd/values.yaml | 2 ++ deployment/helm/topology-aware/templates/daemonset.yaml | 4 ++++ deployment/helm/topology-aware/values.yaml | 2 ++ docs/resource-policy/installation.md | 4 ++++ 9 files changed, 28 insertions(+) diff --git a/deployment/helm/balloons/templates/daemonset.yaml b/deployment/helm/balloons/templates/daemonset.yaml index f4f067fb2..7783c5a9c 100644 --- a/deployment/helm/balloons/templates/daemonset.yaml +++ b/deployment/helm/balloons/templates/daemonset.yaml @@ -14,6 +14,10 @@ spec: labels: {{- include "balloons-plugin.labels" . | nindent 8 }} spec: + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: OnFailure serviceAccount: nri-resource-policy-balloons nodeSelector: diff --git a/deployment/helm/balloons/values.yaml b/deployment/helm/balloons/values.yaml index 4f84f4529..47706180b 100644 --- a/deployment/helm/balloons/values.yaml +++ b/deployment/helm/balloons/values.yaml @@ -28,3 +28,5 @@ initContainerImage: # If not defined Chart.AppVersion will be used #tag: unstable pullPolicy: Always + +tolerations: [] diff --git a/deployment/helm/memory-qos/templates/daemonset.yaml b/deployment/helm/memory-qos/templates/daemonset.yaml index 88261bb56..63e95e685 100644 --- a/deployment/helm/memory-qos/templates/daemonset.yaml +++ b/deployment/helm/memory-qos/templates/daemonset.yaml @@ -14,6 +14,10 @@ spec: labels: {{- include "memory-qos.labels" . | nindent 8 }} spec: + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: OnFailure nodeSelector: kubernetes.io/os: "linux" diff --git a/deployment/helm/memory-qos/values.yaml b/deployment/helm/memory-qos/values.yaml index ad15ad417..db888d4d5 100644 --- a/deployment/helm/memory-qos/values.yaml +++ b/deployment/helm/memory-qos/values.yaml @@ -20,3 +20,5 @@ initContainerImage: # If not defined Chart.AppVersion will be used #tag: unstable pullPolicy: Always + +tolerations: [] diff --git a/deployment/helm/memtierd/templates/daemonset.yaml b/deployment/helm/memtierd/templates/daemonset.yaml index 8af4bc97a..27d76ce6e 100644 --- a/deployment/helm/memtierd/templates/daemonset.yaml +++ b/deployment/helm/memtierd/templates/daemonset.yaml @@ -14,6 +14,10 @@ spec: labels: {{- include "memtierd.labels" . | nindent 8 }} spec: + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: OnFailure nodeSelector: kubernetes.io/os: "linux" diff --git a/deployment/helm/memtierd/values.yaml b/deployment/helm/memtierd/values.yaml index e394afb0a..d5b199885 100644 --- a/deployment/helm/memtierd/values.yaml +++ b/deployment/helm/memtierd/values.yaml @@ -22,3 +22,5 @@ initContainerImage: # If not defined Chart.AppVersion will be used #tag: unstable pullPolicy: Always + +tolerations: [] diff --git a/deployment/helm/topology-aware/templates/daemonset.yaml b/deployment/helm/topology-aware/templates/daemonset.yaml index 02e2bc9d0..ea6c32e4e 100644 --- a/deployment/helm/topology-aware/templates/daemonset.yaml +++ b/deployment/helm/topology-aware/templates/daemonset.yaml @@ -14,6 +14,10 @@ spec: labels: {{- include "topology-aware-plugin.labels" . | nindent 8 }} spec: + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: OnFailure serviceAccount: nri-resource-policy-topology-aware nodeSelector: diff --git a/deployment/helm/topology-aware/values.yaml b/deployment/helm/topology-aware/values.yaml index 004566d5a..a328b6cdf 100644 --- a/deployment/helm/topology-aware/values.yaml +++ b/deployment/helm/topology-aware/values.yaml @@ -27,3 +27,5 @@ initContainerImage: # If not defined Chart.AppVersion will be used #tag: unstable pullPolicy: Always + +tolerations: [] diff --git a/docs/resource-policy/installation.md b/docs/resource-policy/installation.md index fa2db3c17..db2288cb4 100644 --- a/docs/resource-policy/installation.md +++ b/docs/resource-policy/installation.md @@ -122,6 +122,7 @@ Path to the chart: `nri-resource-policy-topology-aware` | `initImage.name` | [ghcr.io/containers/nri-plugins/config-manager](ghcr.io/containers/nri-plugins/config-manager) | init container image name | | `initImage.tag` | unstable | init container image tag | | `initImage.pullPolicy` | Always | init container image pull policy | +| `tolerations` | [] | specify taint toleration key, value, and effect | #### Balloons @@ -140,6 +141,7 @@ Path to the chart: `nri-resource-policy-balloons` | `initImage.name` | [ghcr.io/containers/nri-plugins/config-manager](ghcr.io/containers/nri-plugins/config-manager) | init container image name | | `initImage.tag` | unstable | init container image tag | | `initImage.pullPolicy` | Always | init container image pull policy | +| `tolerations` | [] | specify taint toleration key, value, and effect | #### Memtierd @@ -157,6 +159,7 @@ Path to the chart: `nri-memtierd` | `initImage.name` | [ghcr.io/containers/nri-plugins/config-manager](ghcr.io/containers/nri-plugins/config-manager) | init container image name | | `initImage.tag` | unstable | init container image tag | | `initImage.pullPolicy` | Always | init container image pull policy | +| `tolerations` | [] | specify taint toleration key, value, and effect | #### Memory-qos @@ -174,6 +177,7 @@ Path to the chart: `nri-memory-qos` | `initImage.name` | [ghcr.io/containers/nri-plugins/config-manager](ghcr.io/containers/nri-plugins/config-manager) | init container image name | | `initImage.tag` | unstable | init container image tag | | `initImage.pullPolicy` | Always | init container image pull policy | +| `tolerations` | [] | specify taint toleration key, value, and effect | ## Manual installation