Skip to content

Commit

Permalink
Release 1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pleshakov committed Apr 29, 2020
1 parent c53cc50 commit d2ad33c
Show file tree
Hide file tree
Showing 25 changed files with 88 additions and 77 deletions.
24 changes: 15 additions & 9 deletions CHANGELOG.md
@@ -1,17 +1,18 @@
# Changelog

### 1.7.0 - Release Candidate 1
### 1.7.0

OVERVIEW:

Release 1.7.0-rc1 includes:
Release 1.7.0 includes:
* Support for TCP, UDP, and TLS Passthrough load balancing with the new configuration resources: TransportServer and GlobalConfiguration. The resources allow users to deliver complex, non-HTTP-based applications from Kubernetes using the NGINX Ingress Controller.
* Support for error pages in VirtualServer and VirtualServerRoute resources. A user can now specify custom error responses for errors returned by backend applications or generated by NGINX, such as a 502 response.
* Improved validation of VirtualServer and VirtualServerRoute resources. kubectl and the Kubernetes API server can now detect violations of the structure of VirtualServer/VirtualServerRoute resources and return an error.
* Support for an operator which manages the lifecycle of the Ingress Controller on Kubernetes or OpenShift. See the [NGINX Ingress Operator GitHub repo](https://github.com/nginxinc/nginx-ingress-operator).

The release announcement blog post includes an overview of each feature. See [link-to-be-added](#).
See the [1.7.0 release announcement blog post](https://www.nginx.com/blog/announcing-nginx-ingress-controller-for-kubernetes-release-1-7-0/), which includes an overview of each feature.

You will find the complete changelog for release 1.7.0-rc1, including bug fixes, improvements, and changes below.
You will find the complete changelog for release 1.7.0, including bug fixes, improvements, and changes below.

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:
* [868](https://github.com/nginxinc/kubernetes-ingress/pull/868): Add OpenAPI CRD schema validation.
Expand All @@ -35,20 +36,25 @@ BUGFIXES:
* [828](https://github.com/nginxinc/kubernetes-ingress/pull/828): Fix error messages for actions of the type return.

HELM CHART:
* The version of the helm chart is now 0.5.0-rc1.
* Add new parameters to the Chart: `controller.volumes`, `controller.volumeMounts`, `controller.priorityClassName`. Added in [878](https://github.com/nginxinc/kubernetes-ingress/pull/878), [807](https://github.com/nginxinc/kubernetes-ingress/pull/807) thanks to [Greg Snow](https://github.com/gsnegovskiy).
* The version of the helm chart is now 0.5.0.
* Add new parameters to the Chart: `controller.enableTLSPassthrough`, `controller.volumes`, `controller.volumeMounts`, `controller.priorityClassName`. Added in [921](https://github.com/nginxinc/kubernetes-ingress/pull/921), [878](https://github.com/nginxinc/kubernetes-ingress/pull/878), [807](https://github.com/nginxinc/kubernetes-ingress/pull/807) thanks to [Greg Snow](https://github.com/gsnegovskiy).

CHANGES:
* Update NGINX version to 1.17.9.
* Update NGINX version to 1.17.10.
* Update NGINX Plus to R21.
* [854](https://github.com/nginxinc/kubernetes-ingress/pull/854): Update the Debian base images for NGINX Plus to `debian:buster-slim`.
* [852](https://github.com/nginxinc/kubernetes-ingress/pull/852): Add default-server-access-log-off to configmap. The access logs for the default server are now enabled by default.
* [847](https://github.com/nginxinc/kubernetes-ingress/pull/847): Add support for error pages for VS/VSR. The PR affects how the Ingress Controller generates configuration for VirtualServer and VirtualServerRoutes. See [this comment](https://github.com/nginxinc/kubernetes-ingress/pull/847) for more details.
* [827](https://github.com/nginxinc/kubernetes-ingress/pull/827): Add ingress class label to all Prometheus metrics. Every Prometheus metric exposed by the Ingress Controller now includes the label `class` with the value of the Ingress Controller class (by default `nginx`),
* [825](https://github.com/nginxinc/kubernetes-ingress/pull/825): Add multi-stage docker builds. When building the Ingress Controller image in Docker, we now use a multi-stage docker build.

UPGRADE:
* For this preview release, no DockerHub images are provided. Please build your own image using the 1.7.0-rc1 source code.
* For Helm, use version 0.5.0-rc1 of the chart. Note: this preview version is not available from the stable repo helm.nginx.com/stable, but only from the source files in the `deployments/helm-chart` folder.
* For NGINX, use the 1.7.0 image from our DockerHub: `nginx/nginx-ingress:1.7.0`, `nginx/nginx-ingress:1.7.0-alpine` or `nginx-ingress:1.7.0-ubi`
* For NGINX Plus, please build your own image using the 1.7.0 source code.
* For Helm, use version 0.5.0 of the chart.

When upgrading using the [manifests](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/), make sure to deploy the new TransportServer CRD (`common/ts-definition.yaml`), as it is required by the Ingress Controller. Otherwise, you will get error messages in the Ingress Controller logs.


### 1.6.3

Expand Down
2 changes: 1 addition & 1 deletion Makefile
@@ -1,6 +1,6 @@
all: push

VERSION = 1.7.0-rc1
VERSION = 1.7.0
TAG = $(VERSION)
PREFIX = nginx/nginx-ingress

Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -51,7 +51,7 @@ Read [this doc](docs/nginx-plus.md) to learn more about NGINX Ingress controller

We publish Ingress controller releases on GitHub. See our [releases page](https://github.com/nginxinc/kubernetes-ingress/releases).

The latest stable release is [1.7.0-rc1](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.7.0-rc1). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/master) from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release.
The latest stable release is [1.7.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.7.0). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/master) from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release.

To use the Ingress controller, you need to have access to:
* An Ingress controller image.
Expand All @@ -64,7 +64,7 @@ The table below summarizes the options regarding the images, manifests, helm cha

| Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples |
| ------- | ----------- | --------------- | -------------------- | ---------------------------------------| -------------------------- |
| Latest stable release | For production use | `nginx/nginx-ingress:1.7.0-rc1`, `nginx/nginx-ingress:1.7.0-rc1-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
| Latest stable release | For production use | `nginx/nginx-ingress:1.7.0`, `nginx/nginx-ingress:1.7.0-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
| Edge | For testing and experimenting | `nginx/nginx-ingress:edge`, `nginx/nginx-ingress:edge-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web/installation/building-ingress-controller-image.md). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web/installation/building-ingress-controller-image.md). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples). |

## Contacts
Expand Down
2 changes: 1 addition & 1 deletion deployments/daemon-set/nginx-ingress.yaml
Expand Up @@ -17,7 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:1.7.0-rc1
- image: nginx/nginx-ingress:1.7.0
name: nginx-ingress
ports:
- name: http
Expand Down
2 changes: 1 addition & 1 deletion deployments/daemon-set/nginx-plus-ingress.yaml
Expand Up @@ -17,7 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:1.7.0-rc1
- image: nginx-plus-ingress:1.7.0
name: nginx-plus-ingress
ports:
- name: http
Expand Down
2 changes: 1 addition & 1 deletion deployments/deployment/nginx-ingress.yaml
Expand Up @@ -18,7 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:1.7.0-rc1
- image: nginx/nginx-ingress:1.7.0
name: nginx-ingress
ports:
- name: http
Expand Down
2 changes: 1 addition & 1 deletion deployments/deployment/nginx-plus-ingress.yaml
Expand Up @@ -18,7 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:1.7.0-rc1
- image: nginx-plus-ingress:1.7.0
name: nginx-plus-ingress
ports:
- name: http
Expand Down
8 changes: 4 additions & 4 deletions deployments/helm-chart/Chart.yaml
@@ -1,11 +1,11 @@
name: nginx-ingress
version: 0.5.0-rc1
appVersion: 1.7.0-rc1
version: 0.5.0
appVersion: 1.7.0
apiVersion: v1
description: NGINX Ingress Controller
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v1.7.0-rc1/deployments/helm-chart/chart-icon.png
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v1.7.0/deployments/helm-chart/chart-icon.png
sources:
- https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments/helm-chart
- https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/deployments/helm-chart
keywords:
- ingress
- nginx
Expand Down
4 changes: 2 additions & 2 deletions deployments/helm-chart/README.md
Expand Up @@ -59,7 +59,7 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.
```console
$ cd kubernetes-ingress/deployments/helm-chart
$ cd kubernetes-ingress/deployments/helm-chart
$ git checkout v1.7.0-rc1
$ git checkout v1.7.0
```

3. To install the chart with the release name my-release (my-release is the name that you choose):
Expand Down Expand Up @@ -125,7 +125,7 @@ Parameter | Description | Default
`controller.nginxDebug` | Enables debugging for NGINX. Uses the `nginx-debug` binary. Requires `error-log-level: debug` in the ConfigMap via `controller.config.entries`. | false
`controller.logLevel` | The log level of the Ingress Controller. | 1
`controller.image.repository` | The image repository of the Ingress controller. | nginx/nginx-ingress
`controller.image.tag` | The tag of the Ingress controller image. | 1.7.0-rc1
`controller.image.tag` | The tag of the Ingress controller image. | 1.7.0
`controller.image.pullPolicy` | The pull policy for the Ingress controller image. | IfNotPresent
`controller.config.name` | The name of the ConfigMap used by the Ingress controller. | Autogenerated
`controller.config.entries` | The entries of the ConfigMap for customizing NGINX configuration. | {}
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-icp.yaml
Expand Up @@ -3,7 +3,7 @@ controller:
nginxplus: true
image:
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
tag: "1.7.0-rc1"
tag: "1.7.0"
nodeSelector:
beta.kubernetes.io/arch: "amd64"
proxy: true
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-plus.yaml
Expand Up @@ -2,4 +2,4 @@ controller:
nginxplus: true
image:
repository: nginx-plus-ingress
tag: "1.7.0-rc1"
tag: "1.7.0"
4 changes: 2 additions & 2 deletions docs-web/configuration/configuration-examples.md
@@ -1,5 +1,5 @@
# Configuration Examples

Out [GitHub repo](https://github.com/nginxinc/kubernetes-ingress) includes as number of configuration examples:
* [*Examples*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples) show how to use advanced NGINX features in Ingress resources with annotations.
* [*Examples of Custom Resources*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples-of-custom-resources) show how to use VirtualServer and VirtualServerResources for a few use cases.
* [*Examples*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples) show how to use advanced NGINX features in Ingress resources with annotations.
* [*Examples of Custom Resources*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples-of-custom-resources) show how to use VirtualServer and VirtualServerResources for a few use cases.
22 changes: 11 additions & 11 deletions docs-web/configuration/global-configuration/configmap-resource.md
Expand Up @@ -149,19 +149,19 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres
* - ``resolver-addresses``
- Sets the value of the `resolver <http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver>`_ addresses. Note: If you use a DNS name (ex., ``kube-dns.kube-system.svc.cluster.local``\ ) as a resolver address, NGINX Plus will resolve it using the system resolver during the start and on every configuration reload. As a consequence, If the name cannot be resolved or the DNS server doesn't respond, NGINX Plus will fail to start or reload. To avoid this, consider using only IP addresses as resolver addresses. Supported in NGINX Plus only.
- N/A
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/externalname-services>`_.
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/externalname-services>`_.
* - ``resolver-ipv6``
- Enables IPv6 resolution in the resolver. Supported in NGINX Plus only.
- ``True``
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/externalname-services>`_.
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/externalname-services>`_.
* - ``resolver-valid``
- Sets the time NGINX caches the resolved DNS records. Supported in NGINX Plus only.
- TTL value of a DNS record
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/externalname-services>`_.
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/externalname-services>`_.
* - ``resolver-timeout``
- Sets the `resolver_timeout <http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_timeout>`_ for name resolution. Supported in NGINX Plus only.
- ``30s``
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/externalname-services>`_.
- `Support for Type ExternalName Services <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/externalname-services>`_.
* - ``keepalive-timeout``
- Sets the value of the `keepalive_timeout <http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout>`_ directive.
- ``65s``
Expand Down Expand Up @@ -204,15 +204,15 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres
-
* - ``log-format``
- Sets the custom `log format <http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format>`_ for HTTP and HTTPS traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by ``\n``). In that case, the Ingress Controller will replace every ``\n`` character with a space character. All ``'`` characters must be escaped.
- See the `template file <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0-rc1/internal/configs/version1/nginx.tmpl>`_ for the access log.
- See the `template file <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0/internal/configs/version1/nginx.tmpl>`_ for the access log.
-
* - ``log-format-escaping``
- Sets the characters escaping for the variables of the log format. Supported values: ``json`` (JSON escaping), ``default`` (the default escaping) ``none`` (disables escaping).
- ``default``
-
* - ``stream-log-format``
- Sets the custom `log format <http://nginx.org/en/docs/stream/ngx_stream_log_module.html#log_format>`_ for TCP, UDP, and TLS Passthrough traffic. For convenience, it is possible to define the log format across multiple lines (each line separated by ``\n``). In that case, the Ingress Controller will replace every ``\n`` character with a space character. All ``'`` characters must be escaped.
- See the `template file <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0-rc1/internal/configs/version1/nginx.tmpl>`_.
- See the `template file <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0/internal/configs/version1/nginx.tmpl>`_.
-
* - ``stream-log-format-escaping``
- Sets the characters escaping for the variables of the stream log format. Supported values: ``json`` (JSON escaping), ``default`` (the default escaping) ``none`` (disables escaping).
Expand Down Expand Up @@ -309,7 +309,7 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres
* - ``proxy-protocol``
- Enables PROXY Protocol for incoming connections.
- ``False``
- `Proxy Protocol <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/proxy-protocol>`_.
- `Proxy Protocol <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/proxy-protocol>`_.
```

### Backend Services (Upstreams)
Expand Down Expand Up @@ -373,7 +373,7 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres
* - ``stream-snippets``
- Sets a custom snippet in stream context.
- N/A
- `Support for TCP/UDP Load Balancing <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples/tcp-udp>`_.
- `Support for TCP/UDP Load Balancing <https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0/examples/tcp-udp>`_.
* - ``main-template``
- Sets the main NGINX configuration template.
- By default the template is read from the file in the container.
Expand All @@ -397,13 +397,13 @@ See the doc about [VirtualServer and VirtualServerRoute resources](/nginx-ingres
* - ``opentracing``
- Enables `OpenTracing <https://opentracing.io>`_ globally (for all Ingress, VirtualServer and VirtualServerRoute resources). Note: requires the Ingress Controller image with OpenTracing module and a tracer. See the `docs </nginx-ingress-controller/third-party-modules/opentracing>`_ for more information.
- ``False``
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0-rc1/examples/opentracing/README.md>`_.
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0/examples/opentracing/README.md>`_.
* - ``opentracing-tracer``
- Sets the path to the vendor tracer binary plugin.
- N/A
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0-rc1/examples/opentracing/README.md>`_.
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0/examples/opentracing/README.md>`_.
* - ``opentracing-tracer-config``
- Sets the tracer configuration in JSON format.
- N/A
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0-rc1/examples/opentracing/README.md>`_.
- `Support for OpenTracing <https://github.com/nginxinc/kubernetes-ingress/blob/v1.7.0/examples/opentracing/README.md>`_.
```

0 comments on commit d2ad33c

Please sign in to comment.