From f347c121453924e39796235eebb3da32a79f8826 Mon Sep 17 00:00:00 2001 From: Ho Kim Date: Mon, 28 Jul 2025 12:18:27 +0900 Subject: [PATCH] feat: add support for coredns_affinity (#11994) Signed-off-by: Ho Kim Co-authored-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com> --- roles/kubernetes-apps/ansible/defaults/main.yml | 11 +++++++++++ .../ansible/templates/coredns-deployment.yml.j2 | 16 +--------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/roles/kubernetes-apps/ansible/defaults/main.yml b/roles/kubernetes-apps/ansible/defaults/main.yml index 9d2760690..7679cc231 100644 --- a/roles/kubernetes-apps/ansible/defaults/main.yml +++ b/roles/kubernetes-apps/ansible/defaults/main.yml @@ -13,6 +13,17 @@ dns_prevent_single_point_failure: "{{ 'true' if dns_min_replicas | int > 1 else enable_coredns_reverse_dns_lookups: true coredns_ordinal_suffix: "" # dns_extra_tolerations: [{effect: NoSchedule, operator: "Exists"}] +coredns_affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: k8s-app + operator: In + values: ["kube-dns"] + topologyKey: kubernetes.io/hostname coredns_deployment_nodeselector: "kubernetes.io/os: linux" coredns_default_zone_cache_block: | cache 30 diff --git a/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2 b/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2 index e929dba62..40fea3fe8 100644 --- a/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2 +++ b/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2 @@ -38,21 +38,7 @@ spec: {{ dns_extra_tolerations | list | to_nice_yaml(indent=2) | indent(8) }} {% endif %} affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - topologyKey: "kubernetes.io/hostname" - labelSelector: - matchLabels: - k8s-app: kube-dns{{ coredns_ordinal_suffix }} - nodeAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - preference: - matchExpressions: - - key: node-role.kubernetes.io/control-plane - operator: In - values: - - "" + {{ coredns_affinity | to_nice_yaml(indent=2) | indent(8) }} containers: - name: coredns image: "{{ coredns_image_repo }}:{{ coredns_image_tag }}"