You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove deprecated use cases from Helm installation documentation (#6279)
This commit removes the "Notes" section from the Helm installation
document, which mentioned an IBM Cloud use case not developed since
2018, and NGINX Service Mesh, which went EOS last year.
It also updates some content to be adherent with contemporary standards,
and shifts some context-specific NGINX App DoS information to the
relevant page.
Copy file name to clipboardExpand all lines: docs/content/installation/installing-nic/installation-with-helm.md
+43-46Lines changed: 43 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,13 @@
1
1
---
2
2
docs: DOCS-602
3
-
doctypes:
4
-
- ''
5
3
title: Installation with Helm
6
4
toc: true
7
5
weight: 100
8
6
---
9
7
10
8
This document explains how to install F5 NGINX Ingress Controller using [Helm](https://helm.sh/).
11
9
12
-
## Before you start
10
+
## Before you begin
13
11
14
12
{{< note >}} All documentation should only be used with the latest stable release, indicated on [the releases page]({{< relref "releases.md" >}}) of the GitHub repository. {{< /note >}}
15
13
@@ -20,76 +18,79 @@ This document explains how to install F5 NGINX Ingress Controller using [Helm](h
20
18
- The [Get the NGINX Ingress Controller image with JWT]({{< relref "installation/nic-images/get-image-using-jwt.md" >}}) topic describes how to use your subscription JWT token to get the image.
21
19
- The [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) topic explains how to push an image to a private Docker registry.
22
20
- Update the `controller.image.repository` field of the `values-plus.yaml` accordingly.
23
-
- To use App Protect DoS, install the App Protect DoS Arbitrator [Helm Chart](https://github.com/nginxinc/nap-dos-arbitrator-helm-chart) in the same namespace as NGINX Ingress Controller. If you install multiple NGINX Ingress Controllers in the same namespace, they will need to share the same Arbitrator because there can only be one Arbitrator in a single namespace.
24
21
25
-
## CRDs
22
+
---
23
+
24
+
## Custom Resource Definitions
26
25
27
-
By default, the Ingress Controller requires a number of custom resource definitions (CRDs) installed in the cluster. The Helm client will install those CRDs. If the CRDs are not installed, the Ingress Controller pods will not become `Ready`.
26
+
NGINX Ingress Controller requires custom resource definitions (CRDs) installed in the cluster, which Helm will install. If the CRDs are not installed, NGINX Ingress Controller pods will not become `Ready`.
28
27
29
28
If you do not use the custom resources that require those CRDs (which corresponds to `controller.enableCustomResources` set to `false` and `controller.appprotect.enable` set to `false` and `controller.appprotectdos.enable` set to `false`), the installation of the CRDs can be skipped by specifying `--skip-crds` for the helm install command.
30
29
31
-
### Upgrading the CRDs
30
+
---
31
+
32
+
### Upgrade the CRDs
32
33
33
-
To upgrade the CRDs, pull the chart sources as described in [Pulling the Chart](#pulling-the-chart) and then run:
34
+
To upgrade the CRDs, pull the chart sources as described in [Pull the Chart](#pull-the-chart) and then run:
34
35
35
36
```shell
36
37
kubectl apply -f crds/
37
38
```
38
39
39
40
Alternatively, CRDs can be upgraded without pulling the chart by running:
In the above command, `v{{< nic-version >}}` represents the version of NGINX Ingress Controller release rather than the Helm chart version.
46
47
47
-
{{<note>}}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`.
48
+
{{<note>}}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`.
48
49
49
-
Make sure to check the [release notes](https://www.github.com/nginxinc/kubernetes-ingress/releases) for a new release for any special upgrade procedures.
50
-
{{</note>}}
50
+
Check the [release notes](https://www.github.com/nginxinc/kubernetes-ingress/releases) for a new release for any special upgrade procedures.
51
+
{{</note>}}
51
52
52
-
### Uninstalling the CRDs
53
+
### Uninstall the CRDs
53
54
54
-
To remove the CRDs, pull the chart sources as described in [Pulling the Chart](#pulling-the-chart) and then run:
55
+
To remove the CRDs, pull the chart sources as described in [Pull the Chart](#pull-the-chart) and then run:
55
56
56
57
```shell
57
58
kubectl delete -f crds/
58
59
```
59
60
60
-
{{<warning>}}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.{{</warning>}}
61
+
{{<warning>}}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 NGINX Ingress Controller instances running in the cluster.{{</warning>}}
61
62
62
-
## Managing the Chart via OCI Registry
63
+
## Manage the chart with OCI Registry
63
64
64
-
### Installing the Chart
65
+
### Install the chart
65
66
66
-
To install the chart with the release name my-release (my-release is the name that you choose):
67
+
Run the following commands to install the chart with the release name my-release (my-release is the name that you choose):
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`.
81
+
These commands install the latest `edge` version of NGINX Ingress Controller from GitHub Container Registry. If you prefer using Docker Hub, you can replace `ghcr.io/nginxinc/charts/nginx-ingress` with `registry-1.docker.io/nginxcharts/nginx-ingress`.
81
82
82
-
### Upgrading the Chart
83
+
### Upgrade the chart
83
84
84
-
Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a release, see [Upgrading the CRDs](#upgrading-the-crds).
85
+
Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a release, see [Upgrade the CRDs](#upgrade-the-crds).
The command removes all the Kubernetes components associated with the release and deletes the release.
101
102
102
-
Uninstalling the release does not remove the CRDs. To remove the CRDs, see [Uninstalling the CRDs](#uninstalling-the-crds).
103
+
Uninstalling the release does not remove the CRDs. To remove the CRDs, see [Uninstall the CRDs](#uninstall-the-crds).
103
104
104
-
### Edge Version
105
+
### Edge version
105
106
106
107
To test the latest changes in NGINX Ingress Controller before a new release, you can install the `edge` version. This version is built from the `main` branch of the NGINX Ingress Controller repository.
107
108
You can install the `edge` version by specifying the `--version` flag with the value `0.0.0-edge`:
{{< warning >}} The `edge` version is not intended for production use. It is intended for testing and development purposes only. {{< /warning >}}
114
115
115
-
## Managing the Chart via Sources
116
+
## Manage the chart with Sources
116
117
117
-
### Pulling the Chart
118
+
### Pull the chart
118
119
119
-
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.
120
+
This step is required if you're installing the chart using its sources. It also manages the custom resource definitions (CRDs) which NGINX Ingress Controller requires, and for upgrading or deleting the CRDs.
120
121
121
122
1. Pull the chart sources:
122
123
@@ -130,7 +131,7 @@ This step is required if you're installing the chart using its sources. Addition
130
131
cd nginx-ingress
131
132
```
132
133
133
-
### Installing the Chart
134
+
### Install the chart
134
135
135
136
To install the chart with the release name my-release (my-release is the name that you choose):
136
137
@@ -148,17 +149,17 @@ To install the chart with the release name my-release (my-release is the name th
148
149
149
150
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.
150
151
151
-
### Upgrading the Chart
152
+
### Upgrade the chart
152
153
153
-
Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a release, see [Upgrading the CRDs](#upgrading-the-crds).
154
+
Helm does not upgrade the CRDs during a release upgrade. Before you upgrade a release, see [Upgrade the CRDs](#upgrade-the-crds).
154
155
155
156
To upgrade the release `my-release`:
156
157
157
158
```shell
158
159
helm upgrade my-release .
159
160
```
160
161
161
-
### Uninstalling the Chart
162
+
### Uninstall the chart
162
163
163
164
To uninstall/delete the release `my-release`:
164
165
@@ -168,21 +169,20 @@ helm uninstall my-release
168
169
169
170
The command removes all the Kubernetes components associated with the release and deletes the release.
170
171
171
-
Uninstalling the release does not remove the CRDs. To remove the CRDs, see [Uninstalling the CRDs](#uninstalling-the-crds).
172
+
Uninstalling the release does not remove the CRDs. To remove the CRDs, see [Uninstall the CRDs](#uninstall-the-crds).
172
173
173
-
174
-
## Upgrading without downtime
174
+
## Upgrade without downtime
175
175
176
176
### Background
177
177
178
178
In NGINX Ingress Controller version 3.1.0, [changes were introduced](https://github.com/nginxinc/kubernetes-ingress/pull/3606) to Helm resource names, labels and annotations to fit with Helm best practices.
179
179
When using Helm to upgrade from a version prior to 3.1.0, certain resources like Deployment, DaemonSet and Service will be recreated due to the aforementioned changes, which will result in downtime.
180
180
181
-
Although the advisory is to update all resources in accordance with new naming convention, to avoid the downtime please follow the steps listed in this page.
181
+
Although the advisory is to update all resources in accordance with new naming convention, to avoid downtime follow the steps listed below.
182
182
183
-
### Upgrade Steps
183
+
### Upgrade steps
184
184
185
-
{{<note>}} The following steps apply to both 2.x and 3.0.x releases.{{</note>}}
185
+
{{<note>}} The following steps apply to both 2.x and 3.0.x releases.{{</note>}}
186
186
187
187
The steps you should follow depend on the Helm release name:
188
188
@@ -285,9 +285,11 @@ The steps you should follow depend on the Helm release name:
285
285
{{</tabs>}}
286
286
287
287
288
-
## Run multiple Ingress Controllers
288
+
## Run multiple NGINX Ingress Controllers
289
+
290
+
If you are running NGINX Ingress Controller releases in your cluster with custom resources enabled, the releases will share a single version of the CRDs.
289
291
290
-
If you are running multiple Ingress Controller releases in your cluster with enabled custom resources, the releases will share a single version of the CRDs. Ensure the Ingress Controller versions match the version of the CRDs. When uninstalling a release, ensure that you don’t remove the CRDs until there are no other Ingress Controller releases running in the cluster.
292
+
Ensure the NGINX Ingress Controller versions match the version of the CRDs. When uninstalling a release, ensure that you don’t remove the CRDs until there are no other NGINX Ingress Controller releases running in the cluster.
291
293
292
294
The [Run multiple NGINX Ingress Controllers]({{< relref "installation/run-multiple-ingress-controllers.md" >}}) topic has more details.
| **controller.name** | The name of the Ingress Controller daemonset or deployment. | Autogenerated |
@@ -478,8 +480,3 @@ The following tables lists the configurable parameters of the NGINX Ingress Cont
478
480
|**nginxAgent.customConfigMap** | The name of a custom ConfigMap to use instead of the one provided by default. | "" |
479
481
{{</bootstrap-table>}}
480
482
{{< /table >}}
481
-
482
-
## Notes
483
-
484
-
- 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.
485
-
- 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.
{{< note >}} If you install multiple NGINX Ingress Controllers in the same namespace, they will need to share the same Arbitrator because there can only be one Arbitrator in a single namespace. {{< /note >}}
180
+
179
181
### Helm Chart
180
182
181
183
The App Protect DoS Arbitrator can be installed using the [NGINX App Protect DoS Helm Chart](https://github.com/nginxinc/nap-dos-arbitrator-helm-chart).
0 commit comments