Skip to content

Commit 6ce07ed

Browse files
authored
Release 3.2.0 (#4055)
1 parent 8a02029 commit 6ce07ed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1187
-546
lines changed

Diff for: CHANGELOG.md

+148-13
Large diffs are not rendered by default.

Diff for: README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ In the case of NGINX, the Ingress Controller is deployed in a pod along with the
5151

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

54-
The latest stable release is [3.1.1](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v3.1.1). For production use, we recommend that you choose the latest stable release.
54+
The latest stable release is [3.2.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v3.2.0). For production use, we recommend that you choose the latest stable release.
5555

5656
The edge version is useful for experimenting with new features that are not yet published in a stable release. To use it, choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/main) from the main branch.
5757

@@ -67,7 +67,7 @@ The table below summarizes the options regarding the images, Helm chart, manifes
6767

6868
| Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples |
6969
| ------- | ----------- | --------------- | -------------------- | ---------------------------------------| -------------------------- |
70-
| Latest stable release | For production use | Use the 3.1.1 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | Use the 3.1.1 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v3.1.1/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v3.1.1/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
70+
| Latest stable release | For production use | Use the 3.2.0 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | Use the 3.2.0 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v3.2.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v3.2.0/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
7171
| Edge/Nightly | For testing and experimenting | Use the edge or nightly images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content/installation/building-ingress-controller-image.md). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content/installation/building-ingress-controller-image.md). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/main/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/main/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples). |
7272

7373
## SBOM (Software Bill of Materials)

Diff for: deployments/daemon-set/nginx-ingress.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
# - name: nginx-log
3333
# emptyDir: {}
3434
containers:
35-
- image: nginx/nginx-ingress:3.1.1
35+
- image: nginx/nginx-ingress:3.2.0
3636
imagePullPolicy: IfNotPresent
3737
name: nginx-ingress
3838
ports:
@@ -96,7 +96,7 @@ spec:
9696
#- -enable-prometheus-metrics
9797
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
9898
# initContainers:
99-
# - image: nginx/nginx-ingress:3.1.1
99+
# - image: nginx/nginx-ingress:3.2.0
100100
# imagePullPolicy: IfNotPresent
101101
# name: init-nginx-ingress
102102
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']

Diff for: deployments/daemon-set/nginx-plus-ingress.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
# - name: nginx-log
3333
# emptyDir: {}
3434
containers:
35-
- image: nginx-plus-ingress:3.1.1
35+
- image: nginx-plus-ingress:3.2.0
3636
imagePullPolicy: IfNotPresent
3737
name: nginx-plus-ingress
3838
ports:
@@ -99,7 +99,7 @@ spec:
9999
#- -enable-prometheus-metrics
100100
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
101101
# initContainers:
102-
# - image: nginx/nginx-ingress:3.1.1
102+
# - image: nginx/nginx-ingress:3.2.0
103103
# imagePullPolicy: IfNotPresent
104104
# name: init-nginx-ingress
105105
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']

Diff for: deployments/deployment/nginx-ingress.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ spec:
3333
# - name: nginx-log
3434
# emptyDir: {}
3535
containers:
36-
- image: nginx/nginx-ingress:3.1.1
36+
- image: nginx/nginx-ingress:3.2.0
3737
imagePullPolicy: IfNotPresent
3838
name: nginx-ingress
3939
ports:
@@ -97,7 +97,7 @@ spec:
9797
#- -enable-prometheus-metrics
9898
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
9999
# initContainers:
100-
# - image: nginx/nginx-ingress:3.1.1
100+
# - image: nginx/nginx-ingress:3.2.0
101101
# imagePullPolicy: IfNotPresent
102102
# name: init-nginx-ingress
103103
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']

Diff for: deployments/deployment/nginx-plus-ingress.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ spec:
3333
# - name: nginx-log
3434
# emptyDir: {}
3535
containers:
36-
- image: nginx-plus-ingress:3.1.1
36+
- image: nginx-plus-ingress:3.2.0
3737
imagePullPolicy: IfNotPresent
3838
name: nginx-plus-ingress
3939
ports:
@@ -103,7 +103,7 @@ spec:
103103
#- -enable-service-insight
104104
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
105105
# initContainers:
106-
# - image: nginx/nginx-ingress:3.1.1
106+
# - image: nginx/nginx-ingress:3.2.0
107107
# imagePullPolicy: IfNotPresent
108108
# name: init-nginx-ingress
109109
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']

Diff for: deployments/helm-chart/Chart.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
apiVersion: v2
22
name: nginx-ingress
3-
version: 0.17.1
4-
appVersion: 3.1.1
3+
version: 0.18.0
4+
appVersion: 3.2.0
55
kubeVersion: ">= 1.22.0-0"
66
type: application
77
description: NGINX Ingress Controller
8-
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.1.1/deployments/helm-chart/chart-icon.png
8+
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.2.0/deployments/helm-chart/chart-icon.png
99
home: https://github.com/nginxinc/kubernetes-ingress
1010
sources:
11-
- https://github.com/nginxinc/kubernetes-ingress/tree/v3.1.1/deployments/helm-chart
11+
- https://github.com/nginxinc/kubernetes-ingress/tree/v3.2.0/deployments/helm-chart
1212
keywords:
1313
- ingress
1414
- nginx

Diff for: deployments/helm-chart/README.md

+36-28
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ This chart deploys the NGINX Ingress Controller in your Kubernetes cluster.
66

77
## Prerequisites
88

9-
- A [Kubernetes Version Supported by the Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#supported-kubernetes-versions)
10-
- Helm 3.0+.
11-
- If you’d like to use NGINX Plus:
12-
- To pull from the F5 Container registry, configure a docker registry secret using your JWT token from the MyF5 portal by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/using-the-jwt-token-docker-secret). Make sure to specify the secret using `controller.serviceAccount.imagePullSecretName` parameter.
13-
- Alternatively, pull an Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image).
14-
- Alternatively, you can build an Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image).
15-
- Update the `controller.image.repository` field of the `values-plus.yaml` accordingly.
16-
- If you’d like to use App Protect DoS, please install App Protect DoS Arbitrator [helm chart](https://github.com/nginxinc/nap-dos-arbitrator-helm-chart). Make sure to install in the same namespace as the NGINX Ingress Controller. Note that if you install multiple NGINX Ingress Controllers in the same namespace, they will need to share the same Arbitrator because it is not possible to install more than one Arbitrator in a single namespace.
9+
- A [Kubernetes Version Supported by the Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#supported-kubernetes-versions)
10+
- Helm 3.0+.
11+
- If you’d like to use NGINX Plus:
12+
- To pull from the F5 Container registry, configure a docker registry secret using your JWT token from the MyF5 portal by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/using-the-jwt-token-docker-secret). Make sure to specify the secret using `controller.serviceAccount.imagePullSecretName` parameter.
13+
- Alternatively, pull an Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image).
14+
- Alternatively, you can build an Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image).
15+
- Update the `controller.image.repository` field of the `values-plus.yaml` accordingly.
16+
- If you’d like to use App Protect DoS, please install App Protect DoS Arbitrator [helm chart](https://github.com/nginxinc/nap-dos-arbitrator-helm-chart). Make sure to install in the same namespace as the NGINX Ingress Controller. Note that if you install multiple NGINX Ingress Controllers in the same namespace, they will need to share the same Arbitrator because it is not possible to install more than one Arbitrator in a single namespace.
1717

1818
## CRDs
1919

@@ -26,8 +26,9 @@ If you do not use the custom resources that require those CRDs (which correspond
2626
To upgrade the CRDs, pull the chart sources as described in [Pulling the Chart](#pulling-the-chart) and then run:
2727

2828
```console
29-
$ kubectl apply -f crds/
29+
kubectl apply -f crds/
3030
```
31+
3132
> **Note**
3233
>
3334
> The following warning is expected and can be ignored: `Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply`.
@@ -39,26 +40,29 @@ $ kubectl apply -f crds/
3940
To remove the CRDs, pull the chart sources as described in [Pulling the Chart](#pulling-the-chart) and then run:
4041

4142
```console
42-
$ kubectl delete -f crds/
43+
kubectl delete -f crds/
4344
```
45+
4446
> **Note**
4547
>
4648
> This command will delete all the corresponding custom resources in your cluster across all namespaces. Please ensure there are no custom resources that you want to keep and there are no other Ingress Controller releases running in the cluster.
4749
48-
4950
## Managing the Chart via OCI Registry
51+
5052
### Installing the Chart
5153

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

5456
For NGINX:
57+
5558
```console
56-
$ helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.17.1
59+
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.18.0
5760
```
5861

5962
For NGINX Plus: (assuming you have pushed the Ingress Controller image `nginx-plus-ingress` to your private registry `myregistry.example.com`)
63+
6064
```console
61-
$ helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.17.1 --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
65+
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.18.0 --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
6266
```
6367

6468
This will install the latest `edge` version of the Ingress Controller from GitHub Container Registry. If you prefer to use Docker Hub, you can replace `ghcr.io/nginxinc/charts/nginx-ingress` with `registry-1.docker.io/nginxcharts/nginx-ingress`.
@@ -70,16 +74,17 @@ Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a re
7074
To upgrade the release `my-release`:
7175

7276
```console
73-
$ helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.17.1
77+
helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.18.0
7478
```
7579

7680
### Uninstalling the Chart
7781

7882
To uninstall/delete the release `my-release`:
7983

8084
```console
81-
$ helm uninstall my-release
85+
helm uninstall my-release
8286
```
87+
8388
The command removes all the Kubernetes components associated with the release and deletes the release.
8489

8590
Uninstalling the release does not remove the CRDs. To remove the CRDs, see [Uninstalling the CRDs](#uninstalling-the-crds).
@@ -90,42 +95,45 @@ To test the latest changes in NGINX Ingress Controller before a new release, you
9095
You can install the `edge` version by specifying the `--version` flag with the value `0.0.0-edge`:
9196

9297
```console
93-
$ helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.0.0-edge
98+
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 0.0.0-edge
9499
```
95100

96101
> **Warning**
97102
>
98103
> The `edge` version is not intended for production use. It is intended for testing and development purposes only.
99104
100-
101105
## Managing the Chart via Sources
102106

103107
### Pulling the Chart
104108

105109
This step is required if you're installing the chart using its sources. Additionally, the step is also required for managing the custom resource definitions (CRDs), which the Ingress Controller requires by default, or for upgrading/deleting the CRDs.
106110

107111
1. Pull the chart sources:
112+
108113
```console
109-
$ helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version 0.17.1
114+
helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version 0.18.0
110115
```
111116

112117
2. Change your working directory to nginx-ingress:
118+
113119
```console
114-
$ cd nginx-ingress
120+
cd nginx-ingress
115121
```
116122

117123
### Installing the Chart
118124

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

121127
For NGINX:
128+
122129
```console
123-
$ helm install my-release .
130+
helm install my-release .
124131
```
125132

126133
For NGINX Plus:
134+
127135
```console
128-
$ helm install my-release -f values-plus.yaml .
136+
helm install my-release -f values-plus.yaml .
129137
```
130138

131139
The command deploys the Ingress Controller in your Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
@@ -137,15 +145,15 @@ Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a re
137145
To upgrade the release `my-release`:
138146

139147
```console
140-
$ helm upgrade my-release .
148+
helm upgrade my-release .
141149
```
142150

143151
### Uninstalling the Chart
144152

145153
To uninstall/delete the release `my-release`:
146154

147155
```console
148-
$ helm uninstall my-release
156+
helm uninstall my-release
149157
```
150158

151159
The command removes all the Kubernetes components associated with the release and deletes the release.
@@ -158,7 +166,6 @@ If you are running multiple Ingress Controller releases in your cluster with ena
158166

159167
See [running multiple Ingress Controllers](https://docs.nginx.com/nginx-ingress-controller/installation/running-multiple-ingress-controllers/) for more details.
160168

161-
162169
## Configuration
163170

164171
The following tables lists the configurable parameters of the NGINX Ingress Controller chart and their default values.
@@ -174,9 +181,9 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
174181
|`controller.dnsPolicy` | DNS policy for the Ingress Controller pods. | ClusterFirst |
175182
|`controller.nginxDebug` | Enables debugging for NGINX. Uses the `nginx-debug` binary. Requires `error-log-level: debug` in the ConfigMap via `controller.config.entries`. | false |
176183
|`controller.logLevel` | The log level of the Ingress Controller. | 1 |
177-
|`controller.image.digest ` | The image digest of the Ingress Controller. | None |
184+
|`controller.image.digest` | The image digest of the Ingress Controller. | None |
178185
|`controller.image.repository` | The image repository of the Ingress Controller. | nginx/nginx-ingress |
179-
|`controller.image.tag` | The tag of the Ingress Controller image. | 3.1.1 |
186+
|`controller.image.tag` | The tag of the Ingress Controller image. | 3.2.0 |
180187
|`controller.image.pullPolicy` | The pull policy for the Ingress Controller image. | IfNotPresent |
181188
|`controller.lifecycle` | The lifecycle of the Ingress Controller pods. | {} |
182189
|`controller.customConfigMap` | The name of the custom ConfigMap used by the Ingress Controller. If set, then the default config is ignored. | "" |
@@ -293,5 +300,6 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
293300
|`nginxServiceMesh.enableEgress` | Enable NGINX Service Mesh workloads to route egress traffic through the Ingress Controller. See the NGINX Service Mesh [docs](https://docs.nginx.com/nginx-service-mesh/tutorials/kic/deploy-with-kic/#enabling-egress) for more details. Requires `nginxServiceMesh.enable`. | false |
294301

295302
## Notes
296-
* The values-icp.yaml file is used for deploying the Ingress Controller on IBM Cloud Private. See the [blog post](https://www.nginx.com/blog/nginx-ingress-controller-ibm-cloud-private/) for more details.
297-
* The values-nsm.yaml file is used for deploying the Ingress Controller with NGINX Service Mesh. See the NGINX Service Mesh [docs](https://docs.nginx.com/nginx-service-mesh/tutorials/kic/deploy-with-kic/) for more details.
303+
304+
- The values-icp.yaml file is used for deploying the Ingress Controller on IBM Cloud Private. See the [blog post](https://www.nginx.com/blog/nginx-ingress-controller-ibm-cloud-private/) for more details.
305+
- The values-nsm.yaml file is used for deploying the Ingress Controller with NGINX Service Mesh. See the NGINX Service Mesh [docs](https://docs.nginx.com/nginx-service-mesh/tutorials/kic/deploy-with-kic/) for more details.

Diff for: deployments/helm-chart/values-icp.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ controller:
44
nginxplus: true
55
image:
66
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
7-
tag: "3.1.1"
7+
tag: "3.2.0"
88
nodeSelector:
99
beta.kubernetes.io/arch: "amd64"
1010
proxy: true

Diff for: deployments/helm-chart/values-plus.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ controller:
33
nginxplus: true
44
image:
55
repository: nginx-plus-ingress
6-
tag: "3.1.1"
6+
tag: "3.2.0"

Diff for: deployments/helm-chart/values.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ controller:
5454
repository: nginx/nginx-ingress
5555

5656
## The tag of the Ingress Controller image. If not specified the appVersion from Chart.yaml is used as a tag.
57-
# tag: "3.1.1"
57+
# tag: "3.2.0"
5858

5959
## The digest of the Ingress Controller image.
6060
## If digest is specified it has precedence over tag and will be used instead
@@ -142,7 +142,6 @@ controller:
142142
# cpu: 1
143143
# memory: 1Gi
144144

145-
146145
## The tolerations of the Ingress Controller pods.
147146
tolerations: []
148147

0 commit comments

Comments
 (0)