Skip to content

Commit

Permalink
Release 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pleshakov authored and Rulox committed Dec 19, 2019
1 parent 6a2a6f0 commit 75ecdbc
Show file tree
Hide file tree
Showing 13 changed files with 114 additions and 26 deletions.
91 changes: 91 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,96 @@
# Changelog

### 1.6.0

OVERVIEW:

Release 1.6.0 includes:
* Improvements to VirtualServer and VirtualServerRoute resources, adding support for richer load balancing behavior, more sophisticated request routing, redirects, direct responses, and blue-green and circuit breaker patterns. The VirtualServer and VirtualServerRoute resources are enabled by default and are ready for production use.
* Support for OpenTracing, helping you to monitor and debug complex transactions.
* An improved security posture, with support to run the Ingress Controller as a non-root user.

The release announcement blog post includes the overview for each feature. See https://www.nginx.com/blog/announcing-nginx-ingress-controller-for-kubernetes-release-1-6-0/

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

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:
* [780](https://github.com/nginxinc/kubernetes-ingress/pull/780): Add support for canned responses to VS/VSR.
* [778](https://github.com/nginxinc/kubernetes-ingress/pull/778): Add redirect support in VS/VSR.
* [766](https://github.com/nginxinc/kubernetes-ingress/pull/766): Add exact matches and regex support to location paths in VS/VSR.
* [748](https://github.com/nginxinc/kubernetes-ingress/pull/748): Add TLS redirect support in Virtualserver.
* [745](https://github.com/nginxinc/kubernetes-ingress/pull/745): Improve routing rules in VS/VSR
* [728](https://github.com/nginxinc/kubernetes-ingress/pull/728): Add session persistence in VS/VSR.
* [724](https://github.com/nginxinc/kubernetes-ingress/pull/724): Add VS/VSR Prometheus metrics.
* [712](https://github.com/nginxinc/kubernetes-ingress/pull/712): Add service subselector support in vs/vsr.
* [707](https://github.com/nginxinc/kubernetes-ingress/pull/707): Emit warning events in VS/VSR.
* [701](https://github.com/nginxinc/kubernetes-ingress/pull/701): Add support queue in upstreams for plus in VS/VSR.
* [693](https://github.com/nginxinc/kubernetes-ingress/pull/693): Add ServerStatusZones support in vs/vsr.
* [670](https://github.com/nginxinc/kubernetes-ingress/pull/670): Add buffering support for vs/vsr.
* [660](https://github.com/nginxinc/kubernetes-ingress/pull/660): Add ClientBodyMaxSize support in vs/vsr.
* [659](https://github.com/nginxinc/kubernetes-ingress/pull/659): Support configuring upstream zone sizes in VS/VSR.
* [655](https://github.com/nginxinc/kubernetes-ingress/pull/655): Add slow-start support in vs/vsr.
* [653](https://github.com/nginxinc/kubernetes-ingress/pull/653): Add websockets support for vs/vsr upstreams.
* [641](https://github.com/nginxinc/kubernetes-ingress/pull/641): Add support for ExternalName Services for vs/vsr.
* [635](https://github.com/nginxinc/kubernetes-ingress/pull/635): Add HealthChecks support for vs/vsr.
* [634](https://github.com/nginxinc/kubernetes-ingress/pull/634): Add Active Connections support to vs/vsr.
* [628](https://github.com/nginxinc/kubernetes-ingress/pull/628): Add retries support for vs/vsr.
* [621](https://github.com/nginxinc/kubernetes-ingress/pull/621): Add TLS support for vs/vsr upstreams.
* [617](https://github.com/nginxinc/kubernetes-ingress/pull/617): Add keepalive support to vs/vsr.
* [612](https://github.com/nginxinc/kubernetes-ingress/pull/612): Add timeouts support to vs/vsr.
* [607](https://github.com/nginxinc/kubernetes-ingress/pull/607): Add fail-timeout and max-fails support to vs/vsr.
* [596](https://github.com/nginxinc/kubernetes-ingress/pull/596): Add lb-method support in vs and vsr.

FEATURES:
* [750](https://github.com/nginxinc/kubernetes-ingress/pull/750): Add support for health status uri customisation.
* [691](https://github.com/nginxinc/kubernetes-ingress/pull/691): Helper Functions for custom annotations.
* [631](https://github.com/nginxinc/kubernetes-ingress/pull/631): Add max_conns support for NGINX plus.
* [629](https://github.com/nginxinc/kubernetes-ingress/pull/629): Added upstream zone directive annotation. Thanks to [Victor Regalado](https://github.com/vrrs).
* [616](https://github.com/nginxinc/kubernetes-ingress/pull/616): Add proxy-send-timeout to configmap key and annotation.
* [615](https://github.com/nginxinc/kubernetes-ingress/pull/615): Add support for Opentracing.
* [614](https://github.com/nginxinc/kubernetes-ingress/pull/614): Add max-conns annotation. Thanks to [Victor Regalado](https://github.com/vrrs).


IMPROVEMENTS:
* [678](https://github.com/nginxinc/kubernetes-ingress/pull/678): Increase defaults for server-names-hash-max-size and servers-names-hash-bucket-size ConfigMap keys.
* [694](https://github.com/nginxinc/kubernetes-ingress/pull/694): Reject VS/VSR resources with enabled plus features for OSS.
* Documentation improvements: [713](https://github.com/nginxinc/kubernetes-ingress/pull/713) thanks to [Matthew Wahner](https://github.com/mattwahner).

BUGFIXES:
* [788](https://github.com/nginxinc/kubernetes-ingress/pull/788): Fix VSR updates when namespace is set implicitly.
* [736](https://github.com/nginxinc/kubernetes-ingress/pull/736): Init Ingress labeled metrics on start.
* [686](https://github.com/nginxinc/kubernetes-ingress/pull/686): Check if config map created for leader-election.
* [664](https://github.com/nginxinc/kubernetes-ingress/pull/664): Fix reporting events for Ingress minions.
* [632](https://github.com/nginxinc/kubernetes-ingress/pull/632): Fix hsts support when not using SSL. Thanks to [Martín Fernández](https://github.com/bilby91).

HELM CHART:
* The version of the helm chart is now 0.4.0.
* Add new parameters to the Chart: `controller.healthCheckURI`, `controller.resources`, `controller.logLevel`, `controller.customPorts`, `controller.service.customPorts`. Added in [750](https://github.com/nginxinc/kubernetes-ingress/pull/750), [636](https://github.com/nginxinc/kubernetes-ingress/pull/636) thanks to [Guilherme Oki](https://github.com/guilhermeoki), [600](https://github.com/nginxinc/kubernetes-ingress/pull/600), [581](https://github.com/nginxinc/kubernetes-ingress/pull/581) thanks to [Alex Meijer](https://github.com/ameijer-corsha).
* [722](https://github.com/nginxinc/kubernetes-ingress/pull/722): Fix trailing leader election cm when using helm. This change might lead to a failed upgrade. See the helm upgrade instruction below.
* [573](https://github.com/nginxinc/kubernetes-ingress/pull/573): Use Controller name value for app selectors.

CHANGES:
* Update NGINX versions to 1.17.6.
* Update NGINX Plus version to R20.
* [799](https://github.com/nginxinc/kubernetes-ingress/pull/779): Enable CRDs by default. VirtualServer and VirtualServerRoute resources are now enabled by default.
* [772](https://github.com/nginxinc/kubernetes-ingress/pull/772): Update VS/VSR version from v1alpha1 to v1. Make sure to update the `apiVersion` of your VirtualServer and VirtualServerRoute resources.
* [748](https://github.com/nginxinc/kubernetes-ingress/pull/748): Add TLS redirect support in VirtualServer. The `redirect-to-https` and `ssl-redirect` ConfigMap keys no longer have any effect on generated configs for VirtualServer resources.
* [745](https://github.com/nginxinc/kubernetes-ingress/pull/745): Improve routing rules. Update the spec of VirtualServer and VirtualServerRoute accordingly. See YAML examples of the changes [here](https://github.com/nginxinc/kubernetes-ingress/pull/745).
* [710](https://github.com/nginxinc/kubernetes-ingress/pull/710): Run IC as non-root. Make sure to use the updated manifests to install/upgrade the Ingress Controller.
* [603](https://github.com/nginxinc/kubernetes-ingress/pull/603): Update apiVersion in Deployments and DaemonSets to apps/v1.

UPGRADE:
* For NGINX, use the 1.6.0 image from our DockerHub: `nginx/nginx-ingress:1.6.0` or `nginx/nginx-ingress:1.6.0-alpine`
* For NGINX Plus, please build your own image using the 1.6.0 source code.
* For Helm, use version 0.4.0 of the chart.

HELM UPGRADE:

If leader election (the `controller.reportIngressStatus.enableLeaderElection` parameter) is enabled, when upgrading to the new version of the Helm chart:
1. Make sure to specify a new ConfigMap lock name (`controller.reportIngressStatus.leaderElectionLockName`) different from the one that was created by the current version. To find out the current name, check ConfigMap resources in the namespace where the Ingress Controller is running.
1. After the upgrade, delete the old ConfigMap.

Otherwise, the helm upgrade will not succeed.

### 1.5.8

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

VERSION = edge
VERSION = 1.6.0
TAG = $(VERSION)
PREFIX = nginx/nginx-ingress

Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -49,7 +49,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.5.8](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.5.8). 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.6.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.6.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 @@ -62,7 +62,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.5.8`, `nginx/nginx-ingress:1.5.8-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/build). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/build). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/docs). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/v1.5.8/examples). |
| Latest stable release | For production use | `nginx/nginx-ingress:1.6.0`, `nginx/nginx-ingress:1.6.0-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/build). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/build). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/docs). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/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/build). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/build). | [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). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples). |

## Contacts
Expand Down
5 changes: 3 additions & 2 deletions build/README.md
Expand Up @@ -30,6 +30,7 @@ We build the image using the make utility and the provided `Makefile`. Let’s c
1. Clone the Ingress controller repo:
```
$ git clone https://github.com/nginxinc/kubernetes-ingress/
$ git checkout v1.6.0
```

1. Build the image:
Expand All @@ -40,7 +41,7 @@ We build the image using the make utility and the provided `Makefile`. Let’s c
```
`myregistry.example.com/nginx-ingress` defines the repo in your private registry where the image will be pushed. Substitute that value with the repo in your private registry.

As the result, the image **myregistry.example.com/nginx-ingress:edge** is built and pushed to the registry. Note that the tag `edge` comes from the `VERSION` variable, defined in the Makefile.
As the result, the image **myregistry.example.com/nginx-ingress:1.6.0** is built and pushed to the registry. Note that the tag `1.6.0` comes from the `VERSION` variable, defined in the Makefile.

* For NGINX Plus, first, make sure that the certificate (`nginx-repo.crt`) and the key (`nginx-repo.key`) of your license are located in the root of the project:
```
Expand All @@ -54,7 +55,7 @@ We build the image using the make utility and the provided `Makefile`. Let’s c
```
`myregistry.example.com/nginx-plus-ingress` defines the repo in your private registry where the image will be pushed. Substitute that value with the repo in your private registry.

As the result, the image **myregistry.example.com/nginx-plus-ingress:edge** is built and pushed to the registry. Note that the tag `edge` comes from the `VERSION` variable, defined in the Makefile.
As the result, the image **myregistry.example.com/nginx-plus-ingress:1.6.0** is built and pushed to the registry. Note that the tag `1.6.0` comes from the `VERSION` variable, defined in the Makefile.

Next you will find the details about available Makefile targets and variables.

Expand Down
3 changes: 1 addition & 2 deletions deployments/daemon-set/nginx-ingress.yaml
Expand Up @@ -17,8 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.6.0
name: nginx-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/daemon-set/nginx-plus-ingress.yaml
Expand Up @@ -17,8 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.6.0
name: nginx-plus-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/deployment/nginx-ingress.yaml
Expand Up @@ -18,8 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.6.0
name: nginx-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/deployment/nginx-plus-ingress.yaml
Expand Up @@ -18,8 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.6.0
name: nginx-plus-ingress
ports:
- name: http
Expand Down
9 changes: 4 additions & 5 deletions deployments/helm-chart/Chart.yaml
@@ -1,14 +1,13 @@
name: nginx-ingress
version: edge
appVersion: edge
version: 0.4.0
appVersion: 1.6.0
description: NGINX Ingress Controller
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/master/deployments/helm-chart/chart-icon.png
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v1.6.0/deployments/helm-chart/chart-icon.png
sources:
- https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments/helm-chart
- https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.0/deployments/helm-chart
keywords:
- ingress
- nginx
maintainers:
- name: NGINX Kubernetes Team
email: kubernetes@nginx.com

11 changes: 6 additions & 5 deletions deployments/helm-chart/README.md
Expand Up @@ -6,7 +6,7 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.

## Prerequisites

- Kubernetes 1.6+.
- Kubernetes 1.12+.
- Helm 2.8.x+.
- Git.
- If you’d like to use NGINX Plus:
Expand All @@ -19,27 +19,28 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.

1. Add NGINX Helm repository:
```
$ helm repo add nginx-edge https://helm.nginx.com/edge
$ helm repo add nginx-stable https://helm.nginx.com/stable
$ helm repo update
```

2. To install the chart with the release name my-release (my-release is the name that you choose):

For NGINX:
```
$ helm install nginx-edge/nginx-ingress --name my-release
$ helm install nginx-stable/nginx-ingress --name my-release
```

For NGINX Plus (assuming you have pushed the Ingress controller image `nginx-plus-ingress` to your private registry `myregistry.example.com`):
```
$ helm install nginx-edge/nginx-ingress --name my-release --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
$ helm install nginx-stable/nginx-ingress --name my-release --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
```

### Installing Using Chart Sources

1. Clone the Ingress controller repo:
```console
$ git clone https://github.com/nginxinc/kubernetes-ingress/
$ git checkout v1.6.0
```
2. Change your working directory to /deployments/helm-chart:
```console
Expand Down Expand Up @@ -86,7 +87,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. | edge
`controller.image.tag` | The tag of the Ingress controller image. | 1.6.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: "edge"
tag: "1.6.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: "edge"
tag: "1.6.0"
2 changes: 1 addition & 1 deletion deployments/helm-chart/values.yaml
Expand Up @@ -26,7 +26,7 @@ controller:
repository: nginx/nginx-ingress

## The tag of the Ingress controller image.
tag: "edge"
tag: "1.6.0"

## The pull policy for the Ingress controller image.
pullPolicy: IfNotPresent
Expand Down

0 comments on commit 75ecdbc

Please sign in to comment.