support k8s < v1.19 & watch-ingress-without-class
parent
418a9a17d2
commit
76c1e79598
|
@ -365,12 +365,12 @@ spec:
|
|||
- --election-id=ingress-controller-leader
|
||||
{{- if eq .IngressAPIVersion "v1"}}
|
||||
- --controller-class=k8s.io/ingress-nginx
|
||||
- --watch-ingress-without-class=true
|
||||
{{- end}}
|
||||
{{- if eq .IngressAPIVersion "v1beta1"}}
|
||||
- --ingress-class=nginx
|
||||
- --watch-ingress-without-class=true
|
||||
- --publish-status-address=localhost
|
||||
{{- end}}
|
||||
- --publish-status-address=localhost
|
||||
- --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
|
||||
- --report-node-internal-ip-address
|
||||
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
|
||||
|
|
|
@ -179,6 +179,13 @@ func EnableOrDisableAddon(cc *config.ClusterConfig, name string, val string) err
|
|||
exit.Error(reason.GuestCpConfig, "Error getting primary control plane", err)
|
||||
}
|
||||
|
||||
// maintain backwards compatibility for ingress with k8s < v1.19
|
||||
if strings.HasPrefix(name, "ingress") && enable {
|
||||
if err := supportLegacyIngress(addon, *cc); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Persist images even if the machine is running so starting gets the correct images.
|
||||
images, customRegistries, err := assets.SelectAndPersistImages(addon, cc)
|
||||
if err != nil {
|
||||
|
@ -229,9 +236,6 @@ func addonSpecificChecks(cc *config.ClusterConfig, name string, enable bool, run
|
|||
out.Styled(style.Tip, `After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1"`)
|
||||
}
|
||||
}
|
||||
if err := supportLegacyIngress(cc); err != nil {
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
|
||||
if strings.HasPrefix(name, "istio") && enable {
|
||||
|
@ -290,29 +294,20 @@ func isAddonAlreadySet(cc *config.ClusterConfig, addon *assets.Addon, enable boo
|
|||
return false
|
||||
}
|
||||
|
||||
// maintain backwards compatibility with k8s < v1.19
|
||||
// by replacing images with old versions if custom ones are not already provided
|
||||
func supportLegacyIngress(cc *config.ClusterConfig) error {
|
||||
// maintain backwards compatibility for ingress with k8s < v1.19 by replacing default addon images with older versions
|
||||
func supportLegacyIngress(addon *assets.Addon, cc config.ClusterConfig) error {
|
||||
v, err := util.ParseKubernetesVersion(cc.KubernetesConfig.KubernetesVersion)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "parsing Kubernetes version")
|
||||
}
|
||||
if semver.MustParseRange("<1.19.0")(v) {
|
||||
imgs := map[string]string{
|
||||
addon.Images = map[string]string{
|
||||
// https://github.com/kubernetes/ingress-nginx/blob/0a2ec01eb4ec0e1b29c4b96eb838a2e7bfe0e9f6/deploy/static/provider/kind/deploy.yaml#L328
|
||||
"IngressController": "ingress-nginx/controller:v0.49.3@sha256:35fe394c82164efa8f47f3ed0be981b3f23da77175bbb8268a9ae438851c8324",
|
||||
// issues: https://github.com/kubernetes/ingress-nginx/issues/7418 and https://github.com/jet/kube-webhook-certgen/issues/30
|
||||
"KubeWebhookCertgenCreate": "docker.io/jettech/kube-webhook-certgen:v1.5.1@sha256:950833e19ade18cd389d647efb88992a7cc077abedef343fa59e012d376d79b7",
|
||||
"KubeWebhookCertgenPatch": "docker.io/jettech/kube-webhook-certgen:v1.5.1@sha256:950833e19ade18cd389d647efb88992a7cc077abedef343fa59e012d376d79b7",
|
||||
}
|
||||
if cc.CustomAddonImages == nil {
|
||||
cc.CustomAddonImages = map[string]string{}
|
||||
}
|
||||
for name, path := range imgs {
|
||||
if _, exists := cc.CustomAddonImages[name]; !exists {
|
||||
cc.CustomAddonImages[name] = path
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue