Skip to content

Releases: nginxinc/kubernetes-ingress

NGINX Ingress Controller 1.5.1

03 Jul 16:12
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.17.1.

HELM CHART:

  • The version of the Helm chart is now 0.3.1.
  • 593: Fix the selector in the Ingress Controller service when the controller.name parameter is set. This introduces a change, see the HELM UPGRADE section.

UPGRADE:

  • For NGINX, use the 1.5.1 image from our DockerHub: nginx/nginx-ingress:1.5.1 or nginx/nginx-ingress:1.5.1-alpine
  • For NGINX Plus, please build your own image using the 1.5.1 source code.
  • For Helm, use version 0.3.1 of the chart.

HELM UPGRADE:

In the changelog of Release 1.5.0, we advised not to upgrade the helm chart from 0.2.1 to 0.3.0 unless the mentioned in the changelog problems were acceptable. This release we provide mitigation instructions on how to upgrade from 0.2.1 to 0.3.1 without disruptions.

When you upgrade from 0.2.1 to 0.3.1, make sure to configure the following parameters:

  • controller.name is set to nginx-ingress or the previously used value in case you customized it. This ensures the Deployment/Daemonset will not be recreated.
  • controller.service.name is set to nginx-ingress. This ensures the service will not be recreated.
  • controller.config.name is set to nginx-config. This ensures the ConfigMap will not be recreated.

Upgrading from 0.3.0 to 0.3.1: Upgrading is not affected unless you customized controller.name. In that case, because of the fix 593, the upgraded service will have a new selector, and the upgraded pod spec will have a new label. As a result, during an upgrade, the old pods will be immediately excluded from the service. Also, for the Deployment, the old pods will not terminate but continue to run. To terminate the old pods, manually remove the corresponding ReplicaSet.

RESOURCES:

NGINX Ingress Controller 1.5.0

16 May 16:29
Compare
Choose a tag to compare

FEATURES:

  • 560: Add new configuration resources -- VirtualServer and VirtualServerRoute.
  • 554: Add new Prometheus metrics related to the Ingress Controller's operation (as opposed to NGINX/NGINX Plus metrics).
  • 496: Support a wildcard TLS certificate for TLS-enabled Ingress resources.
  • 485: Support ExternalName services in Ingress backends.

Note: 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-5-0/

IMPROVEMENTS:

  • Add new ConfigMap keys: keepalive-timeout, keepalive-requests, access-log-off, variables-hash-bucket-size, variables-hash-max-size. Added in 565, 511.
  • 504: Run the Prometheus exporter inside the Ingress Controller process instead of a sidecar container.

BUGFIXES:

  • 520: Fix the type of the Prometheus port annotation in manifests.
  • 481: Fix the HSTS support.
  • 439: Fix the validation of the lb-method ConfigMap key and nginx.org/lb-method annotation.

HELM CHART:

  • The version of the helm chart is now 0.3.0.
  • The helm chart is now available in our helm chart repo helm.nginx.com/stable.
  • Add new parameters to the Chart: controller.service.httpPort.targetPort, controller.service.httpsPort.targetPort, controller.service.name, controller.pod.annotations, controller.config.name, controller.reportIngressStatus.leaderElectionLockName, controller.service.httpPort, controller.service.httpsPort, controller.service.loadBalancerIP, controller.service.loadBalancerSourceRanges, controller.tolerations, controller.affinity. Added in 562, 561, 553, 534 thanks to Paulo Ribeiro, 479 thanks to Alejandro Llanes, 468, 456.
  • 546: Support deploying multiple Ingress Controllers in a cluster. Note: The generated resources have new names that are unique for each Ingress Controller. As a consequence, the name change affects the upgrade. See the HELM UPGRADE section for more information.
  • 542: Reduce the required privileges in the RBAC manifests.

CHANGES:

  • Update NGINX version to 1.15.12.
  • Prometheus metrics for NGINX/NGINX Plus have new namespace nginx_ingress. Examples: nginx_http_requests_total -> nginx_ingress_http_requests_total, nginxplus_http_requests_total -> nginx_ingress_nginxplus_http_requests_total.

UPGRADE:

  • For NGINX, use the 1.5.0 image from our DockerHub: nginx/nginx-ingress:1.5.0 or nginx/nginx-ingress:1.5.0-alpine
  • For NGINX Plus, please build your own image using the 1.5.0 source code.
  • For Helm, use version 0.3.0 of the chart.

HELM UPGRADE:

The new version of the helm chart uses different names for the generated resources. This makes it possible to deploy multiple Ingress Controllers in a cluster. However, as a side effect, during the upgrade from the previous version, helm will recreate the resources, instead of updating the existing ones. This, in turn, might cause problems for the following resources:

  • Service: If the service was created with the type LoadBalancer, the public IP of the new service might change. Additionally, helm updates the selector of the service, so that the old pods will be immediately excluded from the service.
  • Deployment/DaemonSet: Because the resource is recreated, the old pods will be removed and the new ones will be launched, instead of the default Deployment/Daemonset upgrade strategy.
  • ConfigMap: After the helm removes the resource, the old Ingress Controller pods will be immediately reconfigured to use the default values of the ConfigMap keys. During a small window between the reconfiguration and the shutdown of the old pods, NGINX will use the configuration with the default values.

We advise not to upgrade to the new version of the helm chart unless the mentioned problems are acceptable for your case. We will provide special upgrade instructions for helm that mitigate the problems for the next minor release of the Ingress Controller (1.5.1).

RESOURCES:

The release has been tested on the following Kubernetes versions: 1.11, 1.12, 1.13, 1.14.

NGINX Ingress Controller 1.4.6

11 Apr 14:13
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.11.
  • Update NGINX Plus version to R18.

HELM CHART:

  • The version of the Helm chart is now 0.2.1.

UPGRADE:

  • For NGINX, use the 1.4.6 image from our DockerHub: nginx/nginx-ingress:1.4.6 or nginx/nginx-ingress:1.4.6-alpine
  • For NGINX Plus, please build your own image using the 1.4.6 source code.
  • For Helm, use version 0.2.1 of the chart.

RESOURCES:

NGINX Ingress Controller 1.4.5

28 Mar 15:17
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.10.

UPGRADE:

  • For NGINX, use the 1.4.5 image from our DockerHub: nginx/nginx-ingress:1.4.5 or nginx/nginx-ingress:1.4.5-alpine
  • For NGINX Plus, please build your image using the 1.4.5 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.5/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.5/examples

NGINX Ingress Controller 1.4.4

14 Mar 15:40
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.9.

UPGRADE:

  • For NGINX, use the 1.4.4 image from our DockerHub: nginx/nginx-ingress:1.4.4 or nginx/nginx-ingress:1.4.4-alpine
  • For NGINX Plus, please build your own image using the 1.4.4 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.4/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.4/examples

NGINX Ingress Controller 1.4.3

04 Jan 13:54
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.8.

UPGRADE:

  • For NGINX, use the 1.4.3 image from our DockerHub: nginx/nginx-ingress:1.4.3 or nginx/nginx-ingress:1.4.3-alpine
  • For NGINX Plus, please build your own image using the 1.4.3 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.3/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.3/examples

NGINX Ingress Controller 1.4.2

12 Dec 15:07
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX Plus version to R17.

UPGRADE:

  • For NGINX, use the 1.4.2 image from our DockerHub: nginx/nginx-ingress:1.4.2 or nginx/nginx-ingress:1.4.2-alpine
  • For NGINX Plus, please build your own image using the 1.4.2 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.2/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.2/examples

NGINX Ingress Controller 1.4.1

28 Nov 15:44
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.7.

UPGRADE:

  • For NGINX, use the 1.4.1 image from our DockerHub: nginx/nginx-ingress:1.4.1 or nginx/nginx-ingress:1.4.1-alpine
  • For NGINX Plus, please build your own image using the 1.4.1 source code.

RESOURCES:

NGINX Ingress Controller 1.4.0

14 Nov 10:52
Compare
Choose a tag to compare

FEATURES:

  • 401: Add the -nginx-debug flag for enabling debugging of NGINX using the nginx-debug binary.
  • 387: Add the -nginx-status-allow-cidrs command-line argument for white listing IPv4 IP/CIDR blocks to allow access to NGINX stub_status or the NGINX Plus API. Thanks to Jasmine Hegman.
  • 376: Support the random load balancing method.
  • 375: Support custom annotations.
  • 346: Support the Prometheus exporter for NGINX (the stub_status metrics).
  • 344: Expose NGINX Plus API/NGINX stub_status on a custom port via the -nginx-status-port command-line argument. See also the CHANGES section.
  • 342: Add the error-log-level configmap key. Thanks to boran seref.
  • 320: Support TCP/UDP load balancing via the stream-snippets configmap key.

IMPROVEMENTS:

  • 434: Improve consistency of templates.
  • 432: Fix cli-docs and Improve main test.
  • 419: Refactor config writing. Thanks to feifeiiiiiiiiii.
  • 403: Improve NGINX start.
  • 400: Fix error message in internal/controller/controller.go. Thanks to Alex O Regan.
  • 399: Improve secret handling. See also the CHANGES section.
  • 391: Update default lb-method to be random two least_conn. See also the CHANGES section.
  • 389: Improve parsing nginx.org/rewrites annotation.
  • 380: Verify reloads & cache secrets.
  • 362: Reduce reloads.
  • 357: Improve Project Layout and Refactor Controller Package. See also the CHANGES section.
  • 351: Make socket address obvious.

BUGFIXES:

  • 429: Fix panic with health checks.
  • 386: Fix Configmap/Mergeable Ingress Add/Update event logging.
  • 379: Fix configmap update.
  • 365: Don't enqueue ingress for some service changes.
  • 348: Fix Configurator error check.

HELM CHART:

  • 430: Add the controller.serviceAccount.imagePullSecrets parameter to the helm chart. See also the CHANGES section.
  • 420: Simplify values files for Helm Chart.
  • 398: Add the controller.nginxStatus.allowCidrs and controller.service.externalIPs parameters to helm chart.
  • 393: Refactor Helm Chart templates.
  • 390: Add the controller.service.loadBalancerIP parameter to the helm chat.
  • 377: Add the controller.nginxStatus parameters to the helm chart.
  • 335: Add the controller.reportIngressStatus parameters to the helm chart.
  • The version of the Helm chart is now 0.2.0.

CHANGES:

  • Update NGINX version to 1.15.6.
  • Update NGINX Plus version to R16p1.
  • Update NGINX Prometheus Exporter to 0.2.0.
  • 430: Add the controller.serviceAccount.imagePullSecrets parameter to the helm chart. Note: the controller.serviceAccountName parameter has been changed to controller.serviceAccount.name.
  • 399: Improve secret handling. Note: the PR changed how the Ingress Controller processes Ingress resources with TLS termination enabled but without any referenced (or with invalid) secrets and Ingress resources with JWT validation enabled but without any referenced (or with invalid) JWK. Please read here for more details.
  • 357: Improve Project Layout and Refactor Controller Package. Note: the PR significantly changed the layout of the project to follow best practices.
  • 347: Use edge version in manifests and Helm chart. Note: the manifests and the helm chart in the master branch now reference the edge version of the Ingress Controller instead of the latest stable version used previously.
  • 391: Update default lb-method to be random two least_conn. Note: the default load balancing method is now the power of two choices as it better suits the Ingress Controller use case. Please read the blog post about the method for more details.
  • 344: Expose NGINX Plus API/NGINX stub_status on a custom port via the -nginx-status-port command-line argument. Note: For NGINX the stub_status is now exposed on port 8080 at the /stub_status URL by default. Previously, the stub_status was not exposed on any port. The stub_status can be disabled via the -nginx-status flag.

DOC AND EXAMPLES FIXES/IMPROVEMENTS: 435, 433, 432, 418 (Thanks to Hal Deadman), 406, 381, 349 (Thanks to Artur Geraschenko), 343

UPGRADE:

  • For NGINX, use the 1.4.0 image from our DockerHub: nginx/nginx-ingress:1.4.0 or nginx/nginx-ingress:1.4.0-alpine
  • For NGINX Plus, please build your own image using the 1.4.0 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.0/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.4.0/examples
Release announcement blog post -- https://www.nginx.com/blog/announcing-nginx-ingress-controller-for-kubernetes-release-1-4-0/

NGINX Ingress Controller 1.3.2

07 Nov 10:40
Compare
Choose a tag to compare

CHANGES:

  • Update NGINX version to 1.15.6.

UPGRADE:

  • For NGINX, use the 1.3.2 image from our DockerHub: nginx/nginx-ingress:1.3.2 or nginx/nginx-ingress:1.3.2-alpine
  • For NGINX Plus, please build your own image using the 1.3.2 source code.

RESOURCES:

Documentation -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.3.2/docs
Configuration examples -- https://github.com/nginxinc/kubernetes-ingress/tree/v1.3.2/examples