Skip to content

Commit 85ac631

Browse files
nginx-botpdabelf5
andauthored
Update NGINX Ingress Controller to 3.4.0 (#218)
Co-authored-by: Paul Abel <[email protected]>
1 parent fcd51c4 commit 85ac631

25 files changed

+2884
-2178
lines changed

bundle/manifests/nginx-ingress-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ metadata:
7474
"image": {
7575
"pullPolicy": "IfNotPresent",
7676
"repository": "nginx/nginx-ingress",
77-
"tag": "3.3.2-ubi"
77+
"tag": "3.4.0-ubi"
7878
},
7979
"includeYear": false,
8080
"ingressClass": {

config/samples/charts_v1alpha1_nginxingress.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spec:
3434
customPorts: []
3535
image:
3636
repository: nginx/nginx-ingress
37-
tag: "3.3.2-ubi"
37+
tag: "3.4.0-ubi"
3838
# digest: "sha256:CHANGEME"
3939
pullPolicy: IfNotPresent
4040
lifecycle: {}

docs/nginx-ingress-controller.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ spec:
4646
customPorts: []
4747
image:
4848
repository: nginx/nginx-ingress
49-
tag: "3.3.2-ubi"
49+
tag: "3.4.0-ubi"
5050
# digest: "sha256:CHANGEME"
5151
pullPolicy: IfNotPresent
5252
lifecycle: {}

examples/deployment-oss-min/nginx-ingress-controller.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ spec:
1111
image:
1212
pullPolicy: IfNotPresent
1313
repository: nginx/nginx-ingress
14-
tag: 3.3.2-ubi
14+
tag: 3.4.0-ubi
1515
ingressClass:
1616
name: nginx
1717
kind: deployment

examples/deployment-plus-min/nginx-ingress-controller.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ spec:
1111
image:
1212
pullPolicy: IfNotPresent
1313
repository: nginx/nginx-ingress
14-
tag: 3.3.2-ubi
14+
tag: 3.4.0-ubi
1515
ingressClass:
1616
name: nginx
1717
kind: deployment

helm-charts/nginx-ingress/Chart.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v2
2-
appVersion: 3.3.2
2+
appVersion: 3.4.0
33
description: NGINX Ingress Controller
44
home: https://github.com/nginxinc/kubernetes-ingress
5-
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.3.2/deployments/helm-chart/chart-icon.png
5+
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.4.0/charts/nginx-ingress/chart-icon.png
66
keywords:
77
- ingress
88
- nginx
@@ -12,6 +12,6 @@ maintainers:
1212
name: nginxinc
1313
name: nginx-ingress
1414
sources:
15-
- https://github.com/nginxinc/kubernetes-ingress/tree/v3.3.2/deployments/helm-chart
15+
- https://github.com/nginxinc/kubernetes-ingress/tree/v3.4.0/charts/nginx-ingress
1616
type: application
17-
version: 1.0.2
17+
version: 1.1.0

helm-charts/nginx-ingress/README.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ This chart deploys the NGINX Ingress Controller in your Kubernetes cluster.
1515
- If you’d like to use NGINX Plus:
1616
- To pull from the F5 Container registry, configure a docker registry secret using your JWT token from the MyF5 portal
1717
by following the instructions from
18-
[here](https://docs.nginx.com/nginx-ingress-controller/installation/using-the-jwt-token-docker-secret). Make sure to
19-
specify the secret using `controller.serviceAccount.imagePullSecretName` parameter.
18+
[here](https://docs.nginx.com/nginx-ingress-controller/installation/using-the-jwt-token-docker-secret).
19+
Make sure to specify the secret using one of the following parameters:
20+
`controller.serviceAccount.imagePullSecretName` or `controller.serviceAccount.imagePullSecretsNames`.
2021
- Alternatively, pull an Ingress Controller image with NGINX Plus and push it to your private registry by following
2122
the instructions from
2223
[here](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image).
@@ -78,14 +79,14 @@ To install the chart with the release name my-release (my-release is the name th
7879
For NGINX:
7980

8081
```console
81-
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.2
82+
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.1.0
8283
```
8384

8485
For NGINX Plus: (assuming you have pushed the Ingress Controller image `nginx-plus-ingress` to your private registry
8586
`myregistry.example.com`)
8687

8788
```console
88-
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.2 --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
89+
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.1.0 --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
8990
```
9091

9192
This will install the latest `edge` version of the Ingress Controller from GitHub Container Registry. If you prefer to
@@ -100,7 +101,7 @@ CRDs](#upgrading-the-crds).
100101
To upgrade the release `my-release`:
101102

102103
```console
103-
helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.2
104+
helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.1.0
104105
```
105106

106107
### Uninstalling the Chart
@@ -141,7 +142,7 @@ upgrading/deleting the CRDs.
141142
1. Pull the chart sources:
142143

143144
```console
144-
helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version 1.0.2
145+
helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version 1.1.0
145146
```
146147

147148
2. Change your working directory to nginx-ingress:
@@ -227,11 +228,11 @@ The steps you should follow depend on the Helm release name:
227228
Selector: app=nginx-ingress-nginx-ingress
228229
```
229230

230-
2. Checkout the latest available tag using `git checkout v3.3.2`
231+
2. Checkout the latest available tag using `git checkout v3.4.0`
231232

232-
3. Navigate to `/kubernates-ingress/deployments/helm-chart`
233+
3. Navigate to `/kubernates-ingress/charts/nginx-ingress`
233234

234-
4. Update the `selectorLabels: {}` field in the `values.yaml` file located at `/kubernates-ingress/deployments/helm-chart`
235+
4. Update the `selectorLabels: {}` field in the `values.yaml` file located at `/kubernates-ingress/charts/nginx-ingress`
235236
with the copied `Selector` value.
236237

237238
```shell
@@ -279,11 +280,11 @@ reviewing its events:
279280
Selector: app=<helm_release_name>-nginx-ingress
280281
```
281282

282-
2. Checkout the latest available tag using `git checkout v3.3.2`
283+
2. Checkout the latest available tag using `git checkout v3.4.0`
283284

284-
3. Navigate to `/kubernates-ingress/deployments/helm-chart`
285+
3. Navigate to `/kubernates-ingress/charts/nginx-ingress`
285286

286-
4. Update the `selectorLabels: {}` field in the `values.yaml` file located at `/kubernates-ingress/deployments/helm-chart`
287+
4. Update the `selectorLabels: {}` field in the `values.yaml` file located at `/kubernates-ingress/charts/nginx-ingress`
287288
with the copied `Selector` value.
288289

289290
```shell
@@ -342,10 +343,11 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
342343
|`controller.hostNetwork` | Enables the Ingress Controller pods to use the host's network namespace. | false |
343344
|`controller.dnsPolicy` | DNS policy for the Ingress Controller pods. | ClusterFirst |
344345
|`controller.nginxDebug` | Enables debugging for NGINX. Uses the `nginx-debug` binary. Requires `error-log-level: debug` in the ConfigMap via `controller.config.entries`. | false |
346+
| `controller.shareProcessNamespace` | Enables process namespace sharing. When process namespace sharing is enabled, processes in a container are visible to all other containers in the same pod. [docs](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) | false |
345347
|`controller.logLevel` | The log level of the Ingress Controller. | 1 |
346348
|`controller.image.digest` | The image digest of the Ingress Controller. | None |
347349
|`controller.image.repository` | The image repository of the Ingress Controller. | nginx/nginx-ingress |
348-
|`controller.image.tag` | The tag of the Ingress Controller image. | 3.3.2 |
350+
|`controller.image.tag` | The tag of the Ingress Controller image. | 3.4.0 |
349351
|`controller.image.pullPolicy` | The pull policy for the Ingress Controller image. | IfNotPresent |
350352
|`controller.lifecycle` | The lifecycle of the Ingress Controller pods. | {} |
351353
|`controller.customConfigMap` | The name of the custom ConfigMap used by the Ingress Controller. If set, then the default config is ignored. | "" |
@@ -370,15 +372,15 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
370372
|`controller.initContainers` | InitContainers for the Ingress Controller pods. | [] |
371373
|`controller.extraContainers` | Extra (eg. sidecar) containers for the Ingress Controller pods. | [] |
372374
|`controller.resources` | The resources of the Ingress Controller pods. | requests: cpu=100m,memory=128Mi |
375+
|`controller.initContainerResources` | The resources of the init container which is used when `controller.readOnlyRootFilesystem` is set to `true` | requests: cpu=100m,memory=128Mi |
373376
|`controller.replicaCount` | The number of replicas of the Ingress Controller deployment. | 1 |
374377
|`controller.ingressClass.name` | A class of the Ingress Controller. An IngressClass resource with the name equal to the class must be deployed. Otherwise, the Ingress Controller will fail to start. The Ingress Controller only processes resources that belong to its class - i.e. have the "ingressClassName" field resource equal to the class. The Ingress Controller processes all the VirtualServer/VirtualServerRoute/TransportServer resources that do not have the "ingressClassName" field for all versions of Kubernetes. | nginx |
375-
|`controller.ingressClass.create` | Creates a new IngressClass object with the name `controller.ingressClass.name`. Set to `false` to use an existing ingressClass created using `kubectl` with the same name. If you use `helm upgrade`, do not change the values from the previous release as helm will delete IngressClass objects managed by helm. If you are upgrading from a release earlier than 3.3.2, do not set the value to false. | true |
378+
|`controller.ingressClass.create` | Creates a new IngressClass object with the name `controller.ingressClass.name`. Set to `false` to use an existing ingressClass created using `kubectl` with the same name. If you use `helm upgrade`, do not change the values from the previous release as helm will delete IngressClass objects managed by helm. If you are upgrading from a release earlier than 3.4.0, do not set the value to false. | true |
376379
|`controller.ingressClass.setAsDefaultIngress` | New Ingresses without an `"ingressClassName"` field specified will be assigned the class specified in `controller.ingressClass.name`. Requires `controller.ingressClass.create`. | false |
377380
|`controller.watchNamespace` | Comma separated list of namespaces the Ingress Controller should watch for resources. By default the Ingress Controller watches all namespaces. Mutually exclusive with `controller.watchNamespaceLabel`. Please note that if configuring multiple namespaces using the Helm cli `--set` option, the string needs to wrapped in double quotes and the commas escaped using a backslash - e.g. `--set controller.watchNamespace="default\,nginx-ingress"`. | "" |
378381
|`controller.watchNamespaceLabel` | Configures the Ingress Controller to watch only those namespaces with label foo=bar. By default the Ingress Controller watches all namespaces. Mutually exclusive with `controller.watchNamespace`. | "" |
379382
|`controller.watchSecretNamespace` | Comma separated list of namespaces the Ingress Controller should watch for resources of type Secret. If this arg is not configured, the Ingress Controller watches the same namespaces for all resources. See `controller.watchNamespace` and `controller.watchNamespaceLabel`. Please note that if configuring multiple namespaces using the Helm cli `--set` option, the string needs to wrapped in double quotes and the commas escaped using a backslash - e.g. `--set controller.watchSecretNamespace="default\,nginx-ingress"`. | "" |
380383
|`controller.enableCustomResources` | Enable the custom resources. | true |
381-
|`controller.enablePreviewPolicies` | Enable preview policies. This parameter is deprecated. To enable OIDC Policies please use `controller.enableOIDC` instead. | false |
382384
|`controller.enableOIDC` | Enable OIDC policies. | false |
383385
|`controller.enableTLSPassthrough` | Enable TLS Passthrough on default port 443. Requires `controller.enableCustomResources`. | false |
384386
|`controller.tlsPassThroughPort` | Set the port for the TLS Passthrough. Requires `controller.enableCustomResources` and `controller.enableTLSPassthrough`. | 443 |
@@ -415,6 +417,7 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
415417
|`controller.serviceAccount.annotations` | The annotations of the Ingress Controller service account. | {} |
416418
|`controller.serviceAccount.name` | The name of the service account of the Ingress Controller pods. Used for RBAC. | Autogenerated |
417419
|`controller.serviceAccount.imagePullSecretName` | The name of the secret containing docker registry credentials. Secret must exist in the same namespace as the helm release. | "" |
420+
|`controller.serviceAccount.imagePullSecretsNames` | The list of secret names containing docker registry credentials. Secret must exist in the same namespace as the helm release. | [] |
418421
|`controller.serviceMonitor.name` | The name of the serviceMonitor. | Autogenerated |
419422
|`controller.serviceMonitor.create` | Create a ServiceMonitor custom resource. | false |
420423
|`controller.serviceMonitor.labels` | Kubernetes object labels to attach to the serviceMonitor object. | "" |
@@ -441,6 +444,7 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
441444
|`controller.minReadySeconds` | Specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available. [docs](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds) | 0 |
442445
|`controller.autoscaling.enabled` | Enables HorizontalPodAutoscaling. | false |
443446
|`controller.autoscaling.annotations` | The annotations of the Ingress Controller HorizontalPodAutoscaler. | {} |
447+
|`controller.autoscaling.behavior` | Behavior configuration for the HPA. | {} |
444448
|`controller.autoscaling.minReplicas` | Minimum number of replicas for the HPA. | 1 |
445449
|`controller.autoscaling.maxReplicas` | Maximum number of replicas for the HPA. | 3 |
446450
|`controller.autoscaling.targetCPUUtilizationPercentage` | The target CPU utilization percentage. | 50 |
@@ -451,7 +455,10 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
451455
|`controller.podDisruptionBudget.maxUnavailable` | The number of Ingress Controller pods that can be unavailable. This is a mutually exclusive setting with "minAvailable". | 0 |
452456
|`controller.strategy` | Specifies the strategy used to replace old Pods with new ones. Docs for [Deployment update strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) and [Daemonset update strategy](https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy) | {} |
453457
|`controller.disableIPV6` | Disable IPV6 listeners explicitly for nodes that do not support the IPV6 stack. | false |
458+
|`controller.defaultHTTPListenerPort` | Sets the port for the HTTP `default_server` listener. | 80 |
459+
|`controller.defaultHTTPSListenerPort` | Sets the port for the HTTPS `default_server` listener. | 443 |
454460
|`controller.readOnlyRootFilesystem` | Configure root filesystem as read-only and add volumes for temporary data. | false |
461+
|`controller.enableSSLDynamicReload` | Enable lazy loading for SSL Certificates. | true |
455462
|`rbac.create` | Configures RBAC. | true |
456463
|`prometheus.create` | Expose NGINX or NGINX Plus metrics in the Prometheus format. | true |
457464
|`prometheus.port` | Configures the port to scrape the metrics. | 9113 |

0 commit comments

Comments
 (0)