From 10e266cb758375e697977f10ade41f3a15daae3d Mon Sep 17 00:00:00 2001 From: ksm Date: Thu, 23 Jan 2020 11:00:50 -0700 Subject: [PATCH] [stable/nginx-ingress] Remove default backend requirement for versions >= 0.21.0 (#20297) * Remove default backend requirement for version >= 0.21.0 Signed-off-by: Kevin McDermott * Revert "Remove default backend requirement for version >= 0.21.0" This reverts commit 3ab0ae7d52fc7f3d125a287e2a6cd2ee0623c7d8. Signed-off-by: Kevin McDermott * Remove default backend requirement for versions >= 0.21.0 Signed-off-by: Kevin McDermott * Fix README.md Signed-off-by: Kevin McDermott --- stable/nginx-ingress/Chart.yaml | 2 +- stable/nginx-ingress/README.md | 2 +- .../templates/controller-daemonset.yaml | 17 +++++++---------- .../templates/controller-deployment.yaml | 8 +++++++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/stable/nginx-ingress/Chart.yaml b/stable/nginx-ingress/Chart.yaml index 268a96226e..dfe03d1805 100644 --- a/stable/nginx-ingress/Chart.yaml +++ b/stable/nginx-ingress/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: nginx-ingress -version: 1.29.3 +version: 1.29.4 appVersion: 0.27.1 home: https://github.com/kubernetes/ingress-nginx description: An nginx Ingress controller that uses ConfigMap to store the nginx configuration. diff --git a/stable/nginx-ingress/README.md b/stable/nginx-ingress/README.md index 95e8a58005..7ff791d953 100644 --- a/stable/nginx-ingress/README.md +++ b/stable/nginx-ingress/README.md @@ -55,7 +55,7 @@ Parameter | Description | Default `controller.containerPort.https` | The port that the controller container listens on for https connections. | `443` `controller.config` | nginx [ConfigMap](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md) entries | none `controller.hostNetwork` | If the nginx deployment / daemonset should run on the host's network namespace. Do not set this when `controller.service.externalIPs` is set and `kube-proxy` is used as there will be a port-conflict for port `80` | false -`controller.defaultBackendService` | default 404 backend service; needed only if `defaultBackend.enabled = false` | `""` +`controller.defaultBackendService` | default 404 backend service; needed only if `defaultBackend.enabled = false` and version < 0.21.0| `""` `controller.dnsPolicy` | If using `hostNetwork=true`, change to `ClusterFirstWithHostNet`. See [pod's dns policy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) for details | `ClusterFirst` `controller.dnsConfig` | custom pod dnsConfig. See [pod's dns config](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-config) for details | `{}` `controller.reportNodeInternalIp` | If using `hostNetwork=true`, setting `reportNodeInternalIp=true`, will pass the flag `report-node-internal-ip-address` to nginx-ingress. This sets the status of all Ingress objects to the internal IP address of all nodes running the NGINX Ingress controller. diff --git a/stable/nginx-ingress/templates/controller-daemonset.yaml b/stable/nginx-ingress/templates/controller-daemonset.yaml index 69b80bf472..e1fd9f37b9 100644 --- a/stable/nginx-ingress/templates/controller-daemonset.yaml +++ b/stable/nginx-ingress/templates/controller-daemonset.yaml @@ -11,8 +11,6 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} name: {{ template "nginx-ingress.controller.fullname" . }} - annotations: -{{ toYaml .Values.controller.deploymentAnnotations | indent 4}} spec: selector: matchLabels: @@ -38,10 +36,6 @@ spec: {{ toYaml .Values.controller.podLabels | indent 8}} {{- end }} spec: -{{- if .Values.controller.dnsConfig }} - dnsConfig: -{{ toYaml .Values.controller.dnsConfig | indent 8 }} -{{- end }} dnsPolicy: {{ .Values.controller.dnsPolicy }} {{- if .Values.imagePullSecrets }} imagePullSecrets: @@ -64,7 +58,13 @@ spec: {{- end }} args: - /nginx-ingress-controller - - --default-backend-service={{ if .Values.defaultBackend.enabled }}{{ .Release.Namespace }}/{{ template "nginx-ingress.defaultBackend.fullname" . }}{{ else }}{{ .Values.controller.defaultBackendService }}{{ end }} + {{- if .Values.defaultBackend.enabled }} + - --default-backend-service={{ .Release.Namespace }}/{{ template "nginx-ingress.defaultBackend.fullname" . }} + {{- else }} + {{- if and (semverCompare "<0.21.0" .Values.controller.image.tag) }} + - --default-backend-service={{ .Values.controller.defaultBackendService }} + {{- end }} + {{- end }} {{- if and (semverCompare ">=0.9.0-beta.1" .Values.controller.image.tag) .Values.controller.publishService.enabled }} - --publish-service={{ template "nginx-ingress.controller.publishServicePath" . }} {{- end }} @@ -96,9 +96,6 @@ spec: - --validating-webhook-certificate=/usr/local/certificates/cert - --validating-webhook-key=/usr/local/certificates/key {{- end }} - {{- if .Values.controller.maxmindLicenseKey }} - - --maxmind-license-key={{ .Values.controller.maxmindLicenseKey }} - {{- end }} {{- range $key, $value := .Values.controller.extraArgs }} {{- if $value }} - --{{ $key }}={{ $value }} diff --git a/stable/nginx-ingress/templates/controller-deployment.yaml b/stable/nginx-ingress/templates/controller-deployment.yaml index 8e0a494e04..9f8a960ff4 100644 --- a/stable/nginx-ingress/templates/controller-deployment.yaml +++ b/stable/nginx-ingress/templates/controller-deployment.yaml @@ -65,7 +65,13 @@ spec: {{- end }} args: - /nginx-ingress-controller - - --default-backend-service={{ if .Values.defaultBackend.enabled }}{{ .Release.Namespace }}/{{ template "nginx-ingress.defaultBackend.fullname" . }}{{ else }}{{ .Values.controller.defaultBackendService }}{{ end }} + {{- if .Values.defaultBackend.enabled }} + - --default-backend-service={{ .Release.Namespace }}/{{ template "nginx-ingress.defaultBackend.fullname" . }} + {{- else }} + {{- if and (semverCompare "<0.21.0" .Values.controller.image.tag) }} + - --default-backend-service={{ .Values.controller.defaultBackendService }} + {{- end }} + {{- end }} {{- if and (semverCompare ">=0.9.0-beta.1" .Values.controller.image.tag) .Values.controller.publishService.enabled }} - --publish-service={{ template "nginx-ingress.controller.publishServicePath" . }} {{- end }}