diff --git a/stable/nginx-ingress/Chart.yaml b/stable/nginx-ingress/Chart.yaml index 7d6e32eb78..b4d8eed193 100644 --- a/stable/nginx-ingress/Chart.yaml +++ b/stable/nginx-ingress/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: nginx-ingress -version: 1.13.0 +version: 1.14.0 appVersion: 0.25.0 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 15c439b8b0..962ddf3b42 100644 --- a/stable/nginx-ingress/README.md +++ b/stable/nginx-ingress/README.md @@ -15,6 +15,7 @@ $ helm install stable/nginx-ingress This chart bootstraps an nginx-ingress deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. ## Prerequisites + - Kubernetes 1.6+ ## Installing the Chart @@ -76,7 +77,6 @@ Parameter | Description | Default `controller.daemonset.useHostPort` | If `controller.kind` is `DaemonSet`, this will enable `hostPort` for TCP/80 and TCP/443 | false `controller.daemonset.hostPorts.http` | If `controller.daemonset.useHostPort` is `true` and this is non-empty, it sets the hostPort | `"80"` `controller.daemonset.hostPorts.https` | If `controller.daemonset.useHostPort` is `true` and this is non-empty, it sets the hostPort | `"443"` -`controller.daemonset.hostPorts.stats` | If `controller.daemonset.useHostPort` is `true` and this is non-empty, it sets the hostPort | `"18080"` `controller.tolerations` | node taints to tolerate (requires Kubernetes >=1.6) | `[]` `controller.affinity` | node/pod affinities (requires Kubernetes >=1.6) | `{}` `controller.terminationGracePeriodSeconds` | how many seconds to wait before terminating a pod | `60` @@ -124,14 +124,6 @@ Parameter | Description | Default `controller.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 `controller.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 `controller.readinessProbe.port` | The port number that the readiness probe will listen on. | 10254 -`controller.stats.enabled` | if `true`, enable status page | `false` -`controller.stats.service.annotations` | annotations for controller stats service | `{}` -`controller.stats.service.clusterIP` | internal controller stats cluster service IP | `""` -`controller.stats.service.omitClusterIP` | To omit the `clusterIP` from the stats service | `false` -`controller.stats.service.externalIPs` | controller service stats external IP addresses | `[]` -`controller.stats.service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""` -`controller.stats.service.loadBalancerSourceRanges` | list of IP CIDRs allowed access to load balancer (if supported) | `[]` -`controller.stats.service.type` | type of controller stats service to create | `ClusterIP` `controller.metrics.enabled` | if `true`, enable Prometheus metrics | `false` `controller.metrics.service.annotations` | annotations for Prometheus metrics service | `{}` `controller.metrics.service.clusterIP` | cluster IP address to assign to service | `""` @@ -197,9 +189,10 @@ Parameter | Description | Default `tcp` | TCP service key:value pairs. The value is evaluated as a template. | `{}` `udp` | UDP service key:value pairs The value is evaluated as a template. | `{}` +These parameters can be passed via Helm's `--set` option ```console $ helm install stable/nginx-ingress --name my-release \ - --set controller.stats.enabled=true + --set controller.metrics.enabled=true ``` Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, @@ -217,6 +210,7 @@ $ helm install stable/nginx-ingress --set controller.extraArgs.v=2 > **Tip**: You can use the default [values.yaml](values.yaml) ## PodDisruptionBudget + Note that the PodDisruptionBudget resource will only be defined if the replicaCount is greater than one, else it would make it impossible to evacuate a node. See [gh issue #7127](https://github.com/helm/charts/issues/7127) for more info. @@ -231,6 +225,13 @@ $ helm install stable/nginx-ingress --name my-release \ You can add Prometheus annotations to the metrics service using `controller.metrics.service.annotations`. Alternatively, if you use the Prometheus Operator, you can enable ServiceMonitor creation using `controller.metrics.serviceMonitor.enabled`. +## nginx-ingress nginx\_status page/stats server + +Previous versions of this chart had a `controller.stats.*` configuration block, which is now obsolete due to the following changes in nginx ingress controller: +* in [0.16.1](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0161), the vts (virtual host traffic status) dashboard was removed +* in [0.23.0](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0230), the status page at port 18080 is now a unix socket webserver only available at localhost. + You can use `curl --unix-socket /tmp/nginx-status-server.sock http://localhost/nginx_status` inside the controller container to access it locally, or use the snippet from [nginx-ingress changelog](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0230) to re-enable the http server + ## ExternalDNS Service configuration Add an [ExternalDNS](https://github.com/kubernetes-incubator/external-dns) annotation to the LoadBalancer service: diff --git a/stable/nginx-ingress/ci/deamonset-hostport-values.yaml b/stable/nginx-ingress/ci/deamonset-hostport-values.yaml deleted file mode 100644 index 589bd5708f..0000000000 --- a/stable/nginx-ingress/ci/deamonset-hostport-values.yaml +++ /dev/null @@ -1,7 +0,0 @@ -controller: - kind: DaemonSet - daemonset: - useHostPort: true - hostPorts: - http: 58462 - https: 58463 diff --git a/stable/nginx-ingress/ci/deamonset-stats-values.yaml b/stable/nginx-ingress/ci/deamonset-stats-values.yaml deleted file mode 100644 index 2d2afd55e8..0000000000 --- a/stable/nginx-ingress/ci/deamonset-stats-values.yaml +++ /dev/null @@ -1,4 +0,0 @@ -controller: - kind: DaemonSet - stats: - enabled: true diff --git a/stable/nginx-ingress/ci/deployment-stats-values.yaml b/stable/nginx-ingress/ci/deployment-stats-values.yaml deleted file mode 100644 index 2f8cff03f5..0000000000 --- a/stable/nginx-ingress/ci/deployment-stats-values.yaml +++ /dev/null @@ -1,3 +0,0 @@ -controller: - stats: - enabled: true diff --git a/stable/nginx-ingress/templates/controller-daemonset.yaml b/stable/nginx-ingress/templates/controller-daemonset.yaml index a7b7fc8f6f..c2c05e2ce8 100644 --- a/stable/nginx-ingress/templates/controller-daemonset.yaml +++ b/stable/nginx-ingress/templates/controller-daemonset.yaml @@ -132,14 +132,6 @@ spec: {{- if .Values.controller.daemonset.useHostPort }} hostPort: {{ .Values.controller.daemonset.hostPorts.https }} {{- end }} - {{- if .Values.controller.stats.enabled }} - - name: stats - containerPort: 18080 - protocol: TCP - {{- if .Values.controller.daemonset.useHostPort }} - hostPort: {{ .Values.controller.daemonset.hostPorts.stats }} - {{- end }} - {{- end }} {{- if .Values.controller.metrics.enabled }} - name: metrics containerPort: 10254 diff --git a/stable/nginx-ingress/templates/controller-deployment.yaml b/stable/nginx-ingress/templates/controller-deployment.yaml index 8eeba34e53..0acfe7dead 100644 --- a/stable/nginx-ingress/templates/controller-deployment.yaml +++ b/stable/nginx-ingress/templates/controller-deployment.yaml @@ -126,11 +126,6 @@ spec: - name: https containerPort: {{ .Values.controller.containerPort.https }} protocol: TCP - {{- if .Values.controller.stats.enabled }} - - name: stats - containerPort: 18080 - protocol: TCP - {{- end }} {{- if .Values.controller.metrics.enabled }} - name: metrics containerPort: 10254 diff --git a/stable/nginx-ingress/templates/controller-stats-service.yaml b/stable/nginx-ingress/templates/controller-stats-service.yaml deleted file mode 100644 index fb99f5c59c..0000000000 --- a/stable/nginx-ingress/templates/controller-stats-service.yaml +++ /dev/null @@ -1,42 +0,0 @@ -{{- if .Values.controller.stats.enabled }} -apiVersion: v1 -kind: Service -metadata: -{{- if .Values.controller.stats.service.annotations }} - annotations: - {{- range $key, $value := .Values.controller.stats.service.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -{{- end }} - labels: - app: {{ template "nginx-ingress.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - component: "{{ .Values.controller.name }}" - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ template "nginx-ingress.controller.fullname" . }}-stats -spec: -{{- if not .Values.controller.stats.service.omitClusterIP }} - clusterIP: "{{ .Values.controller.stats.service.clusterIP }}" -{{- end }} -{{- if .Values.controller.stats.service.externalIPs }} - externalIPs: -{{ toYaml .Values.controller.stats.service.externalIPs | indent 4 }} -{{- end }} -{{- if .Values.controller.stats.service.loadBalancerIP }} - loadBalancerIP: "{{ .Values.controller.stats.service.loadBalancerIP }}" -{{- end }} -{{- if .Values.controller.stats.service.loadBalancerSourceRanges }} - loadBalancerSourceRanges: -{{ toYaml .Values.controller.stats.service.loadBalancerSourceRanges | indent 4 }} -{{- end }} - ports: - - name: stats - port: {{ .Values.controller.stats.service.servicePort }} - targetPort: stats - selector: - app: {{ template "nginx-ingress.name" . }} - component: "{{ .Values.controller.name }}" - release: {{ .Release.Name }} - type: "{{ .Values.controller.stats.service.type }}" -{{- end }} diff --git a/stable/nginx-ingress/values.yaml b/stable/nginx-ingress/values.yaml index 484504007d..492d1df260 100644 --- a/stable/nginx-ingress/values.yaml +++ b/stable/nginx-ingress/values.yaml @@ -41,8 +41,6 @@ controller: hostPorts: http: 80 https: 443 - ## healthz endpoint - stats: 18080 ## Required only if defaultBackend.enabled = false ## Must be / @@ -305,26 +303,6 @@ controller: # image: busybox # command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] - - stats: - enabled: false - - service: - annotations: {} - omitClusterIP: false - clusterIP: "" - - ## List of IP addresses at which the stats service is available - ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips - ## - externalIPs: [] - - loadBalancerIP: "" - loadBalancerSourceRanges: [] - servicePort: 18080 - type: ClusterIP - - metrics: enabled: false