From 9e060590e6fa4abc337350e782d4b5a47d30b386 Mon Sep 17 00:00:00 2001 From: upodroid Date: Tue, 19 Sep 2023 12:48:54 +0100 Subject: [PATCH 1/2] skip kube-dns tests if kube-dns is missing --- test/e2e/autoscaling/dns_autoscaling.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/e2e/autoscaling/dns_autoscaling.go b/test/e2e/autoscaling/dns_autoscaling.go index 98f9945245f..fe4c2f2d5fc 100644 --- a/test/e2e/autoscaling/dns_autoscaling.go +++ b/test/e2e/autoscaling/dns_autoscaling.go @@ -41,8 +41,8 @@ import ( // Constants used in dns-autoscaling test. const ( DNSdefaultTimeout = 5 * time.Minute - ClusterAddonLabelKey = "k8s-app" - DNSLabelName = "kube-dns" + ClusterAddonLabelKey = "kubernetes.io/name" + DNSLabelName = "KubeDNS" DNSAutoscalerLabelName = "kube-dns-autoscaler" ) @@ -57,16 +57,19 @@ var _ = SIGDescribe("DNS horizontal autoscaling", func() { var DNSParams3 DNSParamsLinear ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("gce", "gke") c = f.ClientSet - nodes, err := e2enode.GetReadySchedulableNodes(ctx, c) framework.ExpectNoError(err) nodeCount := len(nodes.Items) ginkgo.By("Collecting original replicas count and DNS scaling params") originDNSReplicasCount, err = getDNSReplicas(ctx, c) - framework.ExpectNoError(err) + if err != nil { + if strings.Contains(err.Error(), "expected 1 DNS deployment") && originDNSReplicasCount == 0 { + e2eskipper.Skipf(err.Error()) + } + framework.Failf("unexpected error: %v", err) + } pcm, err := fetchDNSScalingConfigMap(ctx, c) framework.ExpectNoError(err) @@ -311,7 +314,7 @@ func getDNSReplicas(ctx context.Context, c clientset.Interface) (int, error) { return 0, err } if len(deployments.Items) != 1 { - return 0, fmt.Errorf("expected 1 DNS deployment, got %v", len(deployments.Items)) + return len(deployments.Items), fmt.Errorf("expected 1 DNS deployment, got %v", len(deployments.Items)) } deployment := deployments.Items[0] From 5341890c96f8caf8751b99771c7a4234eb67a5c6 Mon Sep 17 00:00:00 2001 From: upodroid Date: Tue, 19 Sep 2023 14:22:15 +0100 Subject: [PATCH 2/2] add missing labels to kube-dns deployment --- cluster/addons/dns/kube-dns/kube-dns.yaml.base | 1 + cluster/addons/dns/kube-dns/kube-dns.yaml.in | 13 +++++++------ cluster/addons/dns/kube-dns/kube-dns.yaml.sed | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cluster/addons/dns/kube-dns/kube-dns.yaml.base b/cluster/addons/dns/kube-dns/kube-dns.yaml.base index 8b81003e479..a5d960a2976 100644 --- a/cluster/addons/dns/kube-dns/kube-dns.yaml.base +++ b/cluster/addons/dns/kube-dns/kube-dns.yaml.base @@ -65,6 +65,7 @@ metadata: k8s-app: kube-dns kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. diff --git a/cluster/addons/dns/kube-dns/kube-dns.yaml.in b/cluster/addons/dns/kube-dns/kube-dns.yaml.in index 57eaa017cee..6ba8781c07c 100644 --- a/cluster/addons/dns/kube-dns/kube-dns.yaml.in +++ b/cluster/addons/dns/kube-dns/kube-dns.yaml.in @@ -30,7 +30,7 @@ metadata: spec: selector: k8s-app: kube-dns - clusterIP: dns_server + clusterIP: {{ pillar['dns_server'] }} ports: - name: dns port: 53 @@ -65,6 +65,7 @@ metadata: k8s-app: kube-dns kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter. @@ -121,7 +122,7 @@ spec: # guaranteed class. Currently, this container falls into the # "burstable" category so the kubelet doesn't backoff from restarting it. limits: - memory: 'dns_memory_limit' + memory: {{ pillar['dns_memory_limit'] }} requests: cpu: 100m memory: 70Mi @@ -144,7 +145,7 @@ spec: initialDelaySeconds: 3 timeoutSeconds: 5 args: - - --domain=dns_domain. + - --domain={{ pillar['dns_domain'] }}. - --dns-port=10053 - --config-dir=/kube-dns-config - --v=2 @@ -191,7 +192,7 @@ spec: - --no-negcache - --dns-loop-detect - --log-facility=- - - --server=/dns_domain/127.0.0.1#10053 + - --server=/{{ pillar['dns_domain'] }}/127.0.0.1#10053 - --server=/in-addr.arpa/127.0.0.1#10053 - --server=/ip6.arpa/127.0.0.1#10053 ports: @@ -230,8 +231,8 @@ spec: args: - --v=2 - --logtostderr - - --probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.dns_domain,5,SRV - - --probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.dns_domain,5,SRV + - --probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.{{ pillar['dns_domain'] }},5,SRV + - --probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.{{ pillar['dns_domain'] }},5,SRV ports: - containerPort: 10054 name: metrics diff --git a/cluster/addons/dns/kube-dns/kube-dns.yaml.sed b/cluster/addons/dns/kube-dns/kube-dns.yaml.sed index f714f5c9a09..6f909b01ba4 100644 --- a/cluster/addons/dns/kube-dns/kube-dns.yaml.sed +++ b/cluster/addons/dns/kube-dns/kube-dns.yaml.sed @@ -65,6 +65,7 @@ metadata: k8s-app: kube-dns kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" spec: # replicas: not specified here: # 1. In order to make Addon Manager do not reconcile this replicas parameter.