From 6c60901d208d8db438f82fa95eb4de4901829d14 Mon Sep 17 00:00:00 2001 From: Fred Heinecke Date: Mon, 11 Nov 2024 22:50:54 +0000 Subject: [PATCH] Add support for master and garbage collector pod topology spread constraints Signed-off-by: Fred Heinecke --- deployment/helm/node-feature-discovery/templates/master.yaml | 4 ++++ deployment/helm/node-feature-discovery/templates/nfd-gc.yaml | 4 ++++ deployment/helm/node-feature-discovery/values.yaml | 3 +++ docs/deployment/helm.md | 2 ++ 4 files changed, 13 insertions(+) diff --git a/deployment/helm/node-feature-discovery/templates/master.yaml b/deployment/helm/node-feature-discovery/templates/master.yaml index b27bab8a4..bbe63cd98 100644 --- a/deployment/helm/node-feature-discovery/templates/master.yaml +++ b/deployment/helm/node-feature-discovery/templates/master.yaml @@ -154,4 +154,8 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + {{- with .Values.master.topologySpreadConstraints }} + topologySpreadConstraints: + {{- toYaml . | nindent 8 }} + {{- end }} {{- end }} diff --git a/deployment/helm/node-feature-discovery/templates/nfd-gc.yaml b/deployment/helm/node-feature-discovery/templates/nfd-gc.yaml index f5f7575c7..c9e1a5ad6 100644 --- a/deployment/helm/node-feature-discovery/templates/nfd-gc.yaml +++ b/deployment/helm/node-feature-discovery/templates/nfd-gc.yaml @@ -85,4 +85,8 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + {{- with .Values.gc.topologySpreadConstraints }} + topologySpreadConstraints: + {{- toYaml . | nindent 8 }} + {{- end }} {{- end }} diff --git a/deployment/helm/node-feature-discovery/values.yaml b/deployment/helm/node-feature-discovery/values.yaml index 6ae8da521..79b3ceef4 100644 --- a/deployment/helm/node-feature-discovery/values.yaml +++ b/deployment/helm/node-feature-discovery/values.yaml @@ -151,6 +151,8 @@ master: - key: "node-role.kubernetes.io/control-plane" operator: In values: [""] + + topologySpreadConstraints: [] livenessProbe: grpc: @@ -588,6 +590,7 @@ gc: annotations: {} deploymentAnnotations: {} affinity: {} + topologySpreadConstraints: [] # specify how many old ReplicaSets for the Deployment to retain. revisionHistoryLimit: diff --git a/docs/deployment/helm.md b/docs/deployment/helm.md index 8f16d30b6..739c0c2cb 100644 --- a/docs/deployment/helm.md +++ b/docs/deployment/helm.md @@ -195,6 +195,7 @@ API's you need to install the prometheus operator in your cluster. | `master.tolerations` | dict | _Schedule to control-plane node_ | NFD master pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) | | `master.annotations` | dict | {} | NFD master pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | | `master.affinity` | dict | | NFD master pod required [node affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | +| `master.topologySpreadConstraints` | array | [] | NFD master pod [topology spread constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) | | `master.deploymentAnnotations` | dict | {} | NFD master deployment [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | | `master.nfdApiParallelism` | integer | 10 | Specifies the maximum number of concurrent node updates. | | `master.config` | dict | | NFD master [configuration](../reference/master-configuration-reference) | @@ -323,6 +324,7 @@ API's you need to install the prometheus operator in your cluster. | `gc.annotations` | dict | {} | Garbage collector pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | | `gc.deploymentAnnotations` | dict | {} | Garbage collector deployment [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | | `gc.affinity` | dict | {} | Garbage collector pod [affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | +| `gc.topologySpreadConstraints` | array | [] | Garbage collector pod [topology spread constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) | | `gc.extraArgs` | array | [] | Additional [command line arguments](../reference/gc-commandline-reference.md) to pass to nfd-gc | | `gc.extraEnvs` | array | [] | Additional environment variables to pass to nfd-gc | | `gc.revisionHistoryLimit` | integer | | Specify how many old ReplicaSets for this Deployment you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit) |