From 8727f88e41b3a4779797f46c7c8f511b19ea8f10 Mon Sep 17 00:00:00 2001 From: pli <pli01@users.noreply.github.com> Date: Wed, 26 Apr 2023 09:30:16 +0200 Subject: [PATCH] metrics_server: add extras nodeselector, affinity, tolerations (#9972) * metrics_server: add extras nodeselector, affinity, tolerations * fix tolerations invalid YAML if undefined --- .../metrics_server/defaults/main.yml | 3 +++ .../templates/metrics-server-deployment.yaml.j2 | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/roles/kubernetes-apps/metrics_server/defaults/main.yml b/roles/kubernetes-apps/metrics_server/defaults/main.yml index 548cf0ee8..993eed6c1 100644 --- a/roles/kubernetes-apps/metrics_server/defaults/main.yml +++ b/roles/kubernetes-apps/metrics_server/defaults/main.yml @@ -9,3 +9,6 @@ metrics_server_requests_cpu: 100m metrics_server_requests_memory: 200Mi metrics_server_host_network: false metrics_server_replicas: 1 +# metrics_server_extra_tolerations: [] +# metrics_server_extra_affinity: {} +# metrics_server_nodeselector: {} diff --git a/roles/kubernetes-apps/metrics_server/templates/metrics-server-deployment.yaml.j2 b/roles/kubernetes-apps/metrics_server/templates/metrics-server-deployment.yaml.j2 index d44dc8f5e..686cde0fc 100644 --- a/roles/kubernetes-apps/metrics_server/templates/metrics-server-deployment.yaml.j2 +++ b/roles/kubernetes-apps/metrics_server/templates/metrics-server-deployment.yaml.j2 @@ -84,12 +84,17 @@ spec: volumes: - name: tmp emptyDir: {} -{% if not masters_are_not_tainted %} +{% if not masters_are_not_tainted or metrics_server_extra_tolerations is defined %} tolerations: +{% if not masters_are_not_tainted %} - key: node-role.kubernetes.io/master effect: NoSchedule - key: node-role.kubernetes.io/control-plane effect: NoSchedule +{% endif %} +{% if metrics_server_extra_tolerations is defined %} + {{ metrics_server_extra_tolerations | list | to_nice_yaml(indent=2) | indent(8) }} +{% endif %} {% endif %} affinity: podAntiAffinity: @@ -105,3 +110,10 @@ spec: topologyKey: kubernetes.io/hostname namespaces: - kube-system +{% if metrics_server_extra_affinity is defined %} + {{ metrics_server_extra_affinity | to_nice_yaml | indent(width=8) }} +{% endif %} +{% if metrics_server_nodeselector is defined %} + nodeSelector: + {{ metrics_server_nodeselector | to_nice_yaml | indent(width=8) }} +{% endif %} -- GitLab