From a2d27892f04aaabe7eafeb8edd7254aab60060a4 Mon Sep 17 00:00:00 2001 From: Predrag Rogic Date: Tue, 14 Dec 2021 23:09:12 +0000 Subject: [PATCH] fix ingress for k8s v1.19 --- .../addons/ingress/ingress-deploy.yaml.tmpl | 2 +- pkg/minikube/assets/addons.go | 55 ++++++++++--------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/deploy/addons/ingress/ingress-deploy.yaml.tmpl b/deploy/addons/ingress/ingress-deploy.yaml.tmpl index 784100cc1a..6352cb9ffa 100644 --- a/deploy/addons/ingress/ingress-deploy.yaml.tmpl +++ b/deploy/addons/ingress/ingress-deploy.yaml.tmpl @@ -299,7 +299,7 @@ metadata: namespace: ingress-nginx spec: type: NodePort - {{- if eq .IngressAPIVersion "v1"}} + {{- if and (eq .IngressAPIVersion "v1") (not .LegacyKubernetesVersion)}} ipFamilyPolicy: SingleStack ipFamilies: - IPv4 diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index 4c0fe3fae3..c734cdff85 100755 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -239,7 +239,7 @@ var Addons = map[string]*Addon{ "0640"), }, false, "ingress", "", map[string]string{ // https://github.com/kubernetes/ingress-nginx/blob/14f6b32032b709d3e0f614ca85954c3583c5fe3d/deploy/static/provider/kind/deploy.yaml#L330 - "IngressController": "ingress-nginx/controller:v1.0.4@sha256:545cff00370f28363dad31e3b59a94ba377854d3a11f18988f5f9e56841ef9ef", + "IngressController": "ingress-nginx/controller:v1.1.0@sha256:f766669fdcf3dc26347ed273a55e754b427eb4411ee075a53f30718b4499076a", // https://github.com/kubernetes/ingress-nginx/blob/14f6b32032b709d3e0f614ca85954c3583c5fe3d/deploy/static/provider/kind/deploy.yaml#L620 "KubeWebhookCertgenCreate": "k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660", // https://github.com/kubernetes/ingress-nginx/blob/14f6b32032b709d3e0f614ca85954c3583c5fe3d/deploy/static/provider/kind/deploy.yaml#L670 @@ -790,31 +790,33 @@ func GenerateTemplateData(addon *Addon, cfg config.KubernetesConfig, netInfo Net } opts := struct { - Arch string - ExoticArch string - ImageRepository string - LoadBalancerStartIP string - LoadBalancerEndIP string - CustomIngressCert string - IngressAPIVersion string - ContainerRuntime string - Images map[string]string - Registries map[string]string - CustomRegistries map[string]string - NetworkInfo map[string]string + LegacyKubernetesVersion bool + Arch string + ExoticArch string + ImageRepository string + LoadBalancerStartIP string + LoadBalancerEndIP string + CustomIngressCert string + IngressAPIVersion string + ContainerRuntime string + Images map[string]string + Registries map[string]string + CustomRegistries map[string]string + NetworkInfo map[string]string }{ - Arch: a, - ExoticArch: ea, - ImageRepository: cfg.ImageRepository, - LoadBalancerStartIP: cfg.LoadBalancerStartIP, - LoadBalancerEndIP: cfg.LoadBalancerEndIP, - CustomIngressCert: cfg.CustomIngressCert, - IngressAPIVersion: "v1", // api version for ingress (eg, "v1beta1"; defaults to "v1" for k8s 1.19+) - ContainerRuntime: cfg.ContainerRuntime, - Images: images, - Registries: addon.Registries, - CustomRegistries: customRegistries, - NetworkInfo: make(map[string]string), + LegacyKubernetesVersion: false, + Arch: a, + ExoticArch: ea, + ImageRepository: cfg.ImageRepository, + LoadBalancerStartIP: cfg.LoadBalancerStartIP, + LoadBalancerEndIP: cfg.LoadBalancerEndIP, + CustomIngressCert: cfg.CustomIngressCert, + IngressAPIVersion: "v1", // api version for ingress (eg, "v1beta1"; defaults to "v1" for k8s 1.19+) + ContainerRuntime: cfg.ContainerRuntime, + Images: images, + Registries: addon.Registries, + CustomRegistries: customRegistries, + NetworkInfo: make(map[string]string), } if opts.ImageRepository != "" && !strings.HasSuffix(opts.ImageRepository, "/") { opts.ImageRepository += "/" @@ -832,6 +834,9 @@ func GenerateTemplateData(addon *Addon, cfg config.KubernetesConfig, netInfo Net if semver.MustParseRange("<1.19.0")(v) { opts.IngressAPIVersion = "v1beta1" } + if semver.MustParseRange("<1.20.0")(v) { + opts.LegacyKubernetesVersion = true + } // Network info for generating template opts.NetworkInfo["ControlPlaneNodeIP"] = netInfo.ControlPlaneNodeIP