From 17f07e2613200bd4498fd3a0e7481d5170245042 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20Kr=C3=BCger?= <ak@patientsky.com>
Date: Thu, 15 Nov 2018 10:28:03 +0100
Subject: [PATCH] Enable DNS AutoScaler for CoreDNS (#3707)

* Enable AutoScaler for CoreDNS

* Only use one template for dns autoscaler

* Rename a few variables for replicas and minimum pods

* Rename a few variables for replicas and minimum pods

* Remove replicas to make autoscale work

* Cleanup kubedns-autoscaler as it has been renamed
---
 roles/download/defaults/main.yml              | 16 +++++++-------
 .../kubernetes-apps/ansible/defaults/main.yml | 11 ++++------
 .../ansible/tasks/cleanup_dns.yml             | 10 +++++++++
 .../kubernetes-apps/ansible/tasks/coredns.yml |  5 +++++
 .../kubernetes-apps/ansible/tasks/kubedns.yml |  8 +++----
 .../templates/coredns-deployment.yml.j2       |  1 -
 ...l.j2 => dns-autoscaler-clusterrole.yml.j2} |  0
 ... dns-autoscaler-clusterrolebinding.yml.j2} |  0
 ...ler-sa.yml.j2 => dns-autoscaler-sa.yml.j2} |  0
 ...utoscaler.yml.j2 => dns-autoscaler.yml.j2} | 22 +++++++++++--------
 tests/files/do_ubuntu-canal-ha.yml            |  2 +-
 tests/files/gce_centos-weave-kubeadm-sep.yml  |  2 +-
 tests/files/gce_centos7-calico-ha.yml         |  2 +-
 tests/files/gce_centos7-cilium.yml            |  2 +-
 tests/files/gce_centos7-flannel-addons.yml    |  2 +-
 tests/files/gce_centos7-kube-router.yml       |  2 +-
 tests/files/gce_centos7-multus-calico.yml     |  2 +-
 tests/files/gce_coreos-alpha-weave-ha.yml     |  2 +-
 tests/files/gce_coreos-calico-aio.yml         |  2 +-
 tests/files/gce_coreos-canal.yml              |  2 +-
 tests/files/gce_coreos-cilium.yml             |  2 +-
 tests/files/gce_coreos-kube-router.yml        |  2 +-
 tests/files/gce_debian8-calico-upgrade.yml    |  2 +-
 tests/files/gce_opensuse-canal.yml            |  2 +-
 tests/files/gce_rhel7-canal-sep.yml           |  2 +-
 tests/files/gce_rhel7-cilium.yml              |  2 +-
 tests/files/gce_rhel7-weave.yml               |  2 +-
 tests/files/gce_ubuntu-canal-ha.yml           |  2 +-
 tests/files/gce_ubuntu-canal-kubeadm.yml      |  2 +-
 tests/files/gce_ubuntu-cilium-sep.yml         |  2 +-
 tests/files/gce_ubuntu-contiv-sep.yml         |  2 +-
 tests/files/gce_ubuntu-flannel-sep.yml        |  2 +-
 tests/files/gce_ubuntu-kube-router-sep.yml    |  2 +-
 tests/files/gce_ubuntu-rkt-sep.yml            |  2 +-
 tests/files/gce_ubuntu-weave-sep.yml          |  2 +-
 tests/files/gce_ubuntu18-flannel-aio.yml      |  2 +-
 36 files changed, 70 insertions(+), 55 deletions(-)
 rename roles/kubernetes-apps/ansible/templates/{kubedns-autoscaler-clusterrole.yml.j2 => dns-autoscaler-clusterrole.yml.j2} (100%)
 rename roles/kubernetes-apps/ansible/templates/{kubedns-autoscaler-clusterrolebinding.yml.j2 => dns-autoscaler-clusterrolebinding.yml.j2} (100%)
 rename roles/kubernetes-apps/ansible/templates/{kubedns-autoscaler-sa.yml.j2 => dns-autoscaler-sa.yml.j2} (100%)
 rename roles/kubernetes-apps/ansible/templates/{kubedns-autoscaler.yml.j2 => dns-autoscaler.yml.j2} (78%)

diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 5dc7aa334..31f577c10 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -181,9 +181,9 @@ dnsmasq_sidecar_image_tag: "{{ kubedns_version }}"
 dnsmasqautoscaler_version: 1.1.2
 dnsmasqautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
 dnsmasqautoscaler_image_tag: "{{ dnsmasqautoscaler_version }}"
-kubednsautoscaler_version: 1.2.0
-kubednsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
-kubednsautoscaler_image_tag: "{{ kubednsautoscaler_version }}"
+dnsautoscaler_version: 1.2.0
+dnsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
+dnsautoscaler_image_tag: "{{ dnsautoscaler_version }}"
 test_image_repo: busybox
 test_image_tag: latest
 busybox_image_repo: busybox
@@ -487,12 +487,12 @@ downloads:
     groups:
       - kube-node
 
-  kubednsautoscaler:
-    enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
+  dnsautoscaler:
+    enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns','coredns', 'coredns_dual'] }}"
     container: true
-    repo: "{{ kubednsautoscaler_image_repo }}"
-    tag: "{{ kubednsautoscaler_image_tag }}"
-    sha256: "{{ kubednsautoscaler_digest_checksum|default(None) }}"
+    repo: "{{ dnsautoscaler_image_repo }}"
+    tag: "{{ dnsautoscaler_image_tag }}"
+    sha256: "{{ dnsautoscaler_digest_checksum|default(None) }}"
     groups:
       - kube-node
 
diff --git a/roles/kubernetes-apps/ansible/defaults/main.yml b/roles/kubernetes-apps/ansible/defaults/main.yml
index 0d6a50a17..ff2bbd3f2 100644
--- a/roles/kubernetes-apps/ansible/defaults/main.yml
+++ b/roles/kubernetes-apps/ansible/defaults/main.yml
@@ -7,11 +7,8 @@ kubednsautoscaler_version: 1.2.0
 dns_memory_limit: 170Mi
 dns_cpu_requests: 100m
 dns_memory_requests: 70Mi
-kubedns_min_replicas: 2
-kubedns_nodes_per_replica: 10
-
-# CoreDNS
-coredns_replicas: 2
+dns_min_replicas: 2
+dns_nodes_per_replica: 10
 
 # Images
 image_arch: "{{host_architecture}}"
@@ -22,8 +19,8 @@ dnsmasq_nanny_image_repo: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-{{ ima
 dnsmasq_nanny_image_tag: "{{ kubedns_version }}"
 dnsmasq_sidecar_image_repo: "gcr.io/google_containers/k8s-dns-sidecar-{{ image_arch }}"
 dnsmasq_sidecar_image_tag: "{{ kubedns_version }}"
-kubednsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
-kubednsautoscaler_image_tag: "{{ kubednsautoscaler_version }}"
+dnsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
+dnsautoscaler_image_tag: "{{ kubednsautoscaler_version }}"
 
 # Netchecker
 deploy_netchecker: false
diff --git a/roles/kubernetes-apps/ansible/tasks/cleanup_dns.yml b/roles/kubernetes-apps/ansible/tasks/cleanup_dns.yml
index a369e842e..fdb7bfca5 100644
--- a/roles/kubernetes-apps/ansible/tasks/cleanup_dns.yml
+++ b/roles/kubernetes-apps/ansible/tasks/cleanup_dns.yml
@@ -54,3 +54,13 @@
     - kubeadm_init is defined
     - kubeadm_init.changed|default(false)
     - inventory_hostname == groups['kube-master'][0]
+
+- name: Kubernetes Apps | Delete old KubeDNS Autoscaler deployment
+  kube:
+    name: "kubedns-autoscaler"
+    namespace: "kube-system"
+    kubectl: "{{ bin_dir }}/kubectl"
+    resource: "deploy"
+    state: absent
+  tags:
+    - upgrade
diff --git a/roles/kubernetes-apps/ansible/tasks/coredns.yml b/roles/kubernetes-apps/ansible/tasks/coredns.yml
index c52cf7ba8..ba1cb31d6 100644
--- a/roles/kubernetes-apps/ansible/tasks/coredns.yml
+++ b/roles/kubernetes-apps/ansible/tasks/coredns.yml
@@ -10,6 +10,10 @@
     - { name: coredns, file: coredns-svc.yml, type: svc }
     - { name: coredns, file: coredns-clusterrole.yml, type: clusterrole }
     - { name: coredns, file: coredns-clusterrolebinding.yml, type: clusterrolebinding }
+    - { name: dns-autoscaler, file: dns-autoscaler-sa.yml, type: sa }
+    - { name: dns-autoscaler, file: dns-autoscaler-clusterrole.yml, type: clusterrole }
+    - { name: dns-autoscaler, file: dns-autoscaler-clusterrolebinding.yml, type: clusterrolebinding }
+    - { name: dns-autoscaler, file: dns-autoscaler.yml, type: deployment }
   register: coredns_manifests
   vars:
     clusterIP: "{{ skydns_server }}"
@@ -26,6 +30,7 @@
   with_items:
     - { name: coredns, src: coredns-deployment.yml, file: coredns-deployment-secondary.yml, type: deployment }
     - { name: coredns, src: coredns-svc.yml, file: coredns-svc-secondary.yml, type: svc }
+    - { name: dns-autoscaler, src: dns-autoscaler.yml, file: coredns-autoscaler-secondary.yml, type: deployment }
   register: coredns_secondary_manifests
   vars:
     clusterIP: "{{ skydns_server_secondary }}"
diff --git a/roles/kubernetes-apps/ansible/tasks/kubedns.yml b/roles/kubernetes-apps/ansible/tasks/kubedns.yml
index cc805778b..99a357698 100644
--- a/roles/kubernetes-apps/ansible/tasks/kubedns.yml
+++ b/roles/kubernetes-apps/ansible/tasks/kubedns.yml
@@ -8,10 +8,10 @@
     - { name: kube-dns, file: kubedns-sa.yml, type: sa }
     - { name: kube-dns, file: kubedns-deploy.yml, type: deployment }
     - { name: kube-dns, file: kubedns-svc.yml, type: svc }
-    - { name: kubedns-autoscaler, file: kubedns-autoscaler-sa.yml, type: sa }
-    - { name: kubedns-autoscaler, file: kubedns-autoscaler-clusterrole.yml, type: clusterrole }
-    - { name: kubedns-autoscaler, file: kubedns-autoscaler-clusterrolebinding.yml, type: clusterrolebinding }
-    - { name: kubedns-autoscaler, file: kubedns-autoscaler.yml, type: deployment }
+    - { name: dns-autoscaler, file: dns-autoscaler-sa.yml, type: sa }
+    - { name: dns-autoscaler, file: dns-autoscaler-clusterrole.yml, type: clusterrole }
+    - { name: dns-autoscaler, file: dns-autoscaler-clusterrolebinding.yml, type: clusterrolebinding }
+    - { name: dns-autoscaler, file: dns-autoscaler.yml, type: deployment }
   register: kubedns_manifests
   when:
     - dns_mode in ['kubedns','dnsmasq_kubedns']
diff --git a/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2 b/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2
index 980130583..8e98ecaf7 100644
--- a/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/coredns-deployment.yml.j2
@@ -8,7 +8,6 @@ metadata:
     k8s-app: coredns{{ coredns_ordinal_suffix | default('') }}
     kubernetes.io/name: "coredns{{ coredns_ordinal_suffix | default('') }}"
 spec:
-  replicas: {{ coredns_replicas }}
   strategy:
     type: RollingUpdate
     rollingUpdate:
diff --git a/roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-clusterrole.yml.j2 b/roles/kubernetes-apps/ansible/templates/dns-autoscaler-clusterrole.yml.j2
similarity index 100%
rename from roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-clusterrole.yml.j2
rename to roles/kubernetes-apps/ansible/templates/dns-autoscaler-clusterrole.yml.j2
diff --git a/roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-clusterrolebinding.yml.j2 b/roles/kubernetes-apps/ansible/templates/dns-autoscaler-clusterrolebinding.yml.j2
similarity index 100%
rename from roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-clusterrolebinding.yml.j2
rename to roles/kubernetes-apps/ansible/templates/dns-autoscaler-clusterrolebinding.yml.j2
diff --git a/roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-sa.yml.j2 b/roles/kubernetes-apps/ansible/templates/dns-autoscaler-sa.yml.j2
similarity index 100%
rename from roles/kubernetes-apps/ansible/templates/kubedns-autoscaler-sa.yml.j2
rename to roles/kubernetes-apps/ansible/templates/dns-autoscaler-sa.yml.j2
diff --git a/roles/kubernetes-apps/ansible/templates/kubedns-autoscaler.yml.j2 b/roles/kubernetes-apps/ansible/templates/dns-autoscaler.yml.j2
similarity index 78%
rename from roles/kubernetes-apps/ansible/templates/kubedns-autoscaler.yml.j2
rename to roles/kubernetes-apps/ansible/templates/dns-autoscaler.yml.j2
index bf1d468a8..d894eebf2 100644
--- a/roles/kubernetes-apps/ansible/templates/kubedns-autoscaler.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/dns-autoscaler.yml.j2
@@ -16,17 +16,17 @@
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: kubedns-autoscaler
+  name: dns-autoscaler
   namespace: kube-system
   labels:
-    k8s-app: kubedns-autoscaler
+    k8s-app: dns-autoscaler
     kubernetes.io/cluster-service: "true"
     addonmanager.kubernetes.io/mode: Reconcile
 spec:
   template:
     metadata:
       labels:
-        k8s-app: kubedns-autoscaler
+        k8s-app: dns-autoscaler
     spec:
 {% if kube_version is version('v1.11.1', '>=') %}
       priorityClassName: system-cluster-critical
@@ -43,7 +43,7 @@ spec:
           - topologyKey: "kubernetes.io/hostname"
             labelSelector:
               matchLabels:
-                k8s-app: kubedns-autoscaler
+                k8s-app: dns-autoscaler
         nodeAffinity:
           preferredDuringSchedulingIgnoredDuringExecution:
           - weight: 100
@@ -55,7 +55,7 @@ spec:
                 - "true"
       containers:
       - name: autoscaler
-        image: "{{ kubednsautoscaler_image_repo }}:{{ kubednsautoscaler_image_tag }}"
+        image: "{{ dnsautoscaler_image_repo }}:{{ dnsautoscaler_image_tag }}"
         resources:
           requests:
             cpu: "20m"
@@ -63,10 +63,14 @@ spec:
         command:
         - /cluster-proportional-autoscaler
         - --namespace=kube-system
-        - --configmap=kubedns-autoscaler
-        # Should keep target in sync with cluster/addons/dns/kubedns-controller.yaml.base
-        - --target=Deployment/kube-dns
-        - --default-params={"linear":{"nodesPerReplica":{{ kubedns_nodes_per_replica }},"min":{{ kubedns_min_replicas }}}}
+        - --default-params={"linear":{"nodesPerReplica":{{ dns_nodes_per_replica }},"min":{{ dns_min_replicas }}}}
         - --logtostderr=true
         - --v=2
+        - --configmap=dns-autoscaler
+{% if dns_mode in ['coredns', 'coredns_dual'] %}
+        - --target=Deployment/coredns{{ coredns_ordinal_suffix | default('') }}
+{% endif %}
+{% if dns_mode in ['kubedns', 'dnsmasq_kubedns'] %}
+        - --target=Deployment/kube-dns
+{% endif %}
       serviceAccountName: cluster-proportional-autoscaler
diff --git a/tests/files/do_ubuntu-canal-ha.yml b/tests/files/do_ubuntu-canal-ha.yml
index 05b5737d7..ecd9ed428 100644
--- a/tests/files/do_ubuntu-canal-ha.yml
+++ b/tests/files/do_ubuntu-canal-ha.yml
@@ -5,5 +5,5 @@ mode: ha
 # Deployment settings
 kube_network_plugin: canal
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 # cloud_provider: 'do'
diff --git a/tests/files/gce_centos-weave-kubeadm-sep.yml b/tests/files/gce_centos-weave-kubeadm-sep.yml
index c7efd2806..9e2586438 100644
--- a/tests/files/gce_centos-weave-kubeadm-sep.yml
+++ b/tests/files/gce_centos-weave-kubeadm-sep.yml
@@ -11,5 +11,5 @@ kube_network_plugin: weave
 kubeadm_enabled: true
 deploy_netchecker: true
 kubernetes_audit: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_centos7-calico-ha.yml b/tests/files/gce_centos7-calico-ha.yml
index 0bca5842e..8eec638ba 100644
--- a/tests/files/gce_centos7-calico-ha.yml
+++ b/tests/files/gce_centos7-calico-ha.yml
@@ -9,5 +9,5 @@ kube_network_plugin: calico
 download_localhost: true
 download_run_once: true
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_centos7-cilium.yml b/tests/files/gce_centos7-cilium.yml
index ec46a213d..85e13a1c3 100644
--- a/tests/files/gce_centos7-cilium.yml
+++ b/tests/files/gce_centos7-cilium.yml
@@ -8,5 +8,5 @@ mode: default
 kube_network_plugin: cilium
 deploy_netchecker: true
 enable_network_policy: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_centos7-flannel-addons.yml b/tests/files/gce_centos7-flannel-addons.yml
index 86a3199c8..0a8712a91 100644
--- a/tests/files/gce_centos7-flannel-addons.yml
+++ b/tests/files/gce_centos7-flannel-addons.yml
@@ -12,7 +12,7 @@ etcd_events_cluster_setup: true
 local_volume_provisioner_enabled: true
 etcd_deployment_type: host
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
 kube_encrypt_secret_data: true
 ingress_nginx_enabled: true
diff --git a/tests/files/gce_centos7-kube-router.yml b/tests/files/gce_centos7-kube-router.yml
index c210d853f..b433375a5 100644
--- a/tests/files/gce_centos7-kube-router.yml
+++ b/tests/files/gce_centos7-kube-router.yml
@@ -8,5 +8,5 @@ mode: default
 kube_network_plugin: kube-router
 deploy_netchecker: true
 enable_network_policy: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_centos7-multus-calico.yml b/tests/files/gce_centos7-multus-calico.yml
index 57615e285..798339a00 100644
--- a/tests/files/gce_centos7-multus-calico.yml
+++ b/tests/files/gce_centos7-multus-calico.yml
@@ -8,5 +8,5 @@ mode: default
 kube_network_plugin_multus: true
 kube_network_plugin: calico
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_coreos-alpha-weave-ha.yml b/tests/files/gce_coreos-alpha-weave-ha.yml
index 6754a5155..7de3b43ec 100644
--- a/tests/files/gce_coreos-alpha-weave-ha.yml
+++ b/tests/files/gce_coreos-alpha-weave-ha.yml
@@ -9,5 +9,5 @@ startup_script: 'systemctl disable locksmithd && systemctl stop locksmithd'
 kube_network_plugin: weave
 resolvconf_mode: host_resolvconf # this is required as long as the coreos stable channel uses docker < 1.12
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_coreos-calico-aio.yml b/tests/files/gce_coreos-calico-aio.yml
index ca33bd982..7430f5620 100644
--- a/tests/files/gce_coreos-calico-aio.yml
+++ b/tests/files/gce_coreos-calico-aio.yml
@@ -11,5 +11,5 @@ no_group_vars: true
 kube_network_plugin: calico
 resolvconf_mode: host_resolvconf # this is required as long as the coreos stable channel uses docker < 1.12
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_coreos-canal.yml b/tests/files/gce_coreos-canal.yml
index ca4cdd98d..ffeddc29c 100644
--- a/tests/files/gce_coreos-canal.yml
+++ b/tests/files/gce_coreos-canal.yml
@@ -8,5 +8,5 @@ startup_script: 'systemctl disable locksmithd && systemctl stop locksmithd'
 kube_network_plugin: canal
 resolvconf_mode: host_resolvconf # this is required as long as the coreos stable channel uses docker < 1.12
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_coreos-cilium.yml b/tests/files/gce_coreos-cilium.yml
index eb2b002c5..6cf7358a1 100644
--- a/tests/files/gce_coreos-cilium.yml
+++ b/tests/files/gce_coreos-cilium.yml
@@ -9,5 +9,5 @@ kube_network_plugin: cilium
 resolvconf_mode: host_resolvconf # this is required as long as the coreos stable channel uses docker < 1.12
 deploy_netchecker: true
 enable_network_policy: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_coreos-kube-router.yml b/tests/files/gce_coreos-kube-router.yml
index 655ca2dd5..b13e1da4d 100644
--- a/tests/files/gce_coreos-kube-router.yml
+++ b/tests/files/gce_coreos-kube-router.yml
@@ -9,5 +9,5 @@ kube_network_plugin: kube-router
 bootstrap_os: coreos
 resolvconf_mode: host_resolvconf # this is required as long as the coreos stable channel uses docker < 1.12
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_debian8-calico-upgrade.yml b/tests/files/gce_debian8-calico-upgrade.yml
index 54c597925..1230bfffd 100644
--- a/tests/files/gce_debian8-calico-upgrade.yml
+++ b/tests/files/gce_debian8-calico-upgrade.yml
@@ -6,5 +6,5 @@ mode: default
 # Deployment settings
 kube_network_plugin: calico
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_opensuse-canal.yml b/tests/files/gce_opensuse-canal.yml
index eb30255ed..26b6415f5 100644
--- a/tests/files/gce_opensuse-canal.yml
+++ b/tests/files/gce_opensuse-canal.yml
@@ -6,5 +6,5 @@ mode: default
 # Deployment settings
 kube_network_plugin: canal
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_rhel7-canal-sep.yml b/tests/files/gce_rhel7-canal-sep.yml
index e3c679629..57e891896 100644
--- a/tests/files/gce_rhel7-canal-sep.yml
+++ b/tests/files/gce_rhel7-canal-sep.yml
@@ -6,5 +6,5 @@ mode: separate
 # Deployment settings
 kube_network_plugin: canal
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_rhel7-cilium.yml b/tests/files/gce_rhel7-cilium.yml
index 0994d0099..96be18deb 100644
--- a/tests/files/gce_rhel7-cilium.yml
+++ b/tests/files/gce_rhel7-cilium.yml
@@ -7,5 +7,5 @@ mode: default
 kube_network_plugin: cilium
 deploy_netchecker: true
 enable_network_policy: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_rhel7-weave.yml b/tests/files/gce_rhel7-weave.yml
index bfff490da..ad5d61c4f 100644
--- a/tests/files/gce_rhel7-weave.yml
+++ b/tests/files/gce_rhel7-weave.yml
@@ -6,5 +6,5 @@ mode: default
 # Deployment settings
 kube_network_plugin: weave
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-canal-ha.yml b/tests/files/gce_ubuntu-canal-ha.yml
index 351d64622..63f4179fb 100644
--- a/tests/files/gce_ubuntu-canal-ha.yml
+++ b/tests/files/gce_ubuntu-canal-ha.yml
@@ -6,5 +6,5 @@ mode: ha
 # Deployment settings
 kube_network_plugin: canal
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-canal-kubeadm.yml b/tests/files/gce_ubuntu-canal-kubeadm.yml
index afe46938b..159141558 100644
--- a/tests/files/gce_ubuntu-canal-kubeadm.yml
+++ b/tests/files/gce_ubuntu-canal-kubeadm.yml
@@ -9,5 +9,5 @@ kube_network_plugin: canal
 kubeadm_enabled: true
 dynamic_kubelet_configuration: true
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-cilium-sep.yml b/tests/files/gce_ubuntu-cilium-sep.yml
index 0c0647743..9892cf19f 100644
--- a/tests/files/gce_ubuntu-cilium-sep.yml
+++ b/tests/files/gce_ubuntu-cilium-sep.yml
@@ -7,6 +7,6 @@ mode: separate
 kube_network_plugin: cilium
 deploy_netchecker: true
 enable_network_policy: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
 
diff --git a/tests/files/gce_ubuntu-contiv-sep.yml b/tests/files/gce_ubuntu-contiv-sep.yml
index 0b3b575ab..a2d88c18e 100644
--- a/tests/files/gce_ubuntu-contiv-sep.yml
+++ b/tests/files/gce_ubuntu-contiv-sep.yml
@@ -6,5 +6,5 @@ mode: separate
 # Deployment settings
 kube_network_plugin: contiv
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-flannel-sep.yml b/tests/files/gce_ubuntu-flannel-sep.yml
index 6a5568e1d..e34137852 100644
--- a/tests/files/gce_ubuntu-flannel-sep.yml
+++ b/tests/files/gce_ubuntu-flannel-sep.yml
@@ -6,5 +6,5 @@ mode: separate
 # Deployment settings
 kube_network_plugin: flannel
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-kube-router-sep.yml b/tests/files/gce_ubuntu-kube-router-sep.yml
index fde781ff2..c5d29e323 100644
--- a/tests/files/gce_ubuntu-kube-router-sep.yml
+++ b/tests/files/gce_ubuntu-kube-router-sep.yml
@@ -7,5 +7,5 @@ mode: separate
 bootstrap_os: ubuntu
 kube_network_plugin: kube-router
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-rkt-sep.yml b/tests/files/gce_ubuntu-rkt-sep.yml
index 718a23ba1..c46807a47 100644
--- a/tests/files/gce_ubuntu-rkt-sep.yml
+++ b/tests/files/gce_ubuntu-rkt-sep.yml
@@ -10,5 +10,5 @@ kubelet_deployment: rkt
 download_localhost: true
 download_run_once: true
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu-weave-sep.yml b/tests/files/gce_ubuntu-weave-sep.yml
index a805b24bf..52d6c2416 100644
--- a/tests/files/gce_ubuntu-weave-sep.yml
+++ b/tests/files/gce_ubuntu-weave-sep.yml
@@ -6,5 +6,5 @@ mode: separate
 # Deployment settings
 kube_network_plugin: weave
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
diff --git a/tests/files/gce_ubuntu18-flannel-aio.yml b/tests/files/gce_ubuntu18-flannel-aio.yml
index 3ef7aa83c..cd3a95534 100644
--- a/tests/files/gce_ubuntu18-flannel-aio.yml
+++ b/tests/files/gce_ubuntu18-flannel-aio.yml
@@ -8,5 +8,5 @@ mode: aio
 kube_network_plugin: flannel
 dynamic_kubelet_configuration: true
 deploy_netchecker: true
-kubedns_min_replicas: 1
+dns_min_replicas: 1
 cloud_provider: gce
-- 
GitLab