Skip to content

Commit

Permalink
Documentation style changes for the "Installation" section (#6015)
Browse files Browse the repository at this point in the history
This commit is one of a series to update the documentation set to 
adhere to NGINX's contemporary documentation standards. 

The three most prominent changes are prepending F5 to the first instance 
of an NGINX product, changing titles to sentence case, and removing gerunds.

A number of pages also had their filenames changed to 
reflect their contents and to create shorter URL slugs.

---------

Signed-off-by: Alan Dooley <[email protected]>
Co-authored-by: Shaun <[email protected]>
Co-authored-by: Venktesh Shivam Patel <[email protected]>
  • Loading branch information
3 people authored Jul 31, 2024
1 parent dc79e1e commit d3bdc77
Show file tree
Hide file tree
Showing 22 changed files with 117 additions and 106 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ description:
docs: DOCS-1453
doctypes:
- installation
title: Building NGINX Ingress Controller
title: Build NGINX Ingress Controller
toc: true
weight: 200
---

Learn how to build an NGINX Ingress Controller image from source code and upload it to a private Docker registry. You'll also find information on the Makefile targets and variables.
This document describes how to build an F5 NGINX Ingress Controller image from source code and upload it to a private Docker registry.

{{<call-out "tip" "Pre-built image alternatives" >}}If you'd rather not build your own NGINX Ingress Controller image, see the [pre-built image options](#pre-built-images) at the end of this guide.{{</call-out>}}
It also includes information on the Makefile targets and variables.

{{<call-out "tip" "Pre-built image alternatives" >}} If you do not need to build a custom image, see the [pre-built image options](#pre-built-images) at the end of this guide. {{</call-out>}}

## Before you start

Expand All @@ -22,7 +24,7 @@ To get started, you need the following software installed on your machine:
- [OpenSSL](https://www.openssl.org/), optionally, if you would like to generate a self-signed certificate and a key for the default server.
- For NGINX Plus users, download the certificate (_nginx-repo.crt_) and key (_nginx-repo.key_) from [MyF5](https://my.f5.com).

Although NGINX Ingress Controller is written in Golang, you don't need to have Golang installed. You can either download the precompiled binary file or build NGINX Ingress Controller in a Docker container.
Although NGINX Ingress Controller is written in Golang, you don't need to have Golang installed. You can download the precompiled binary file or build NGINX Ingress Controller in a Docker container.

---

Expand Down Expand Up @@ -56,7 +58,7 @@ Get your system ready for building and pushing the NGINX Ingress Controller imag

After setting up your environment, follow these steps to build the NGINX Ingress Controller image.

{{<note>}}If you have a local Golang environment and want to build the binary yourself, remove `TARGET=download` from the make commands. If you don't have Golang but still want to build the binary, use `TARGET=container`.{{</note>}}
{{< note >}} If you have a local Golang environment and want to build the binary yourself, remove `TARGET=download` from the make commands. If you don't have Golang but still want to build the binary, use `TARGET=container`. {{< /note >}}
### For NGINX
Expand Down Expand Up @@ -100,7 +102,7 @@ After setting up your environment, follow these steps to build the NGINX Ingress
**What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_](#makefile-details). This version number is used for tracking and deployment purposes.
{{<note>}}In the event a patch version of NGINX Plus is released, make sure to rebuild your image to get the latest version. If your system is caching the Docker layers and not updating the packages, add `DOCKER_BUILD_OPTIONS="--pull --no-cache"` to the make command.{{</note>}}
{{<note>}} If a patch for NGINX Plus is released, make sure to rebuild your image to get the latest version. If your system is caching the Docker layers and not updating the packages, add `DOCKER_BUILD_OPTIONS="--pull --no-cache"` to the make command. {{</note>}}
---
Expand Down Expand Up @@ -192,7 +194,7 @@ If you prefer not to build your own NGINX Ingress Controller image, you can use
**NGINX Ingress Controller**: Download the image `nginx/nginx-ingress` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress) or [GitHub](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress).
**NGINX Plus Ingress Controller**: You have two options for this, both requiring an NGINX Ingress Controller subscription.
**NGINX Plus Ingress Controller**: You have two options for this:
- Download the image using your NGINX Ingress Controller subscription certificate and key. See the [Getting the F5 Registry NGINX Ingress Controller Image]({{< relref "installation/nic-images/pulling-ingress-controller-image.md" >}}) guide.
- Use your NGINX Ingress Controller subscription JWT token to get the image: Instructions are in [Getting the NGINX Ingress Controller Image with JWT]({{< relref "installation/nic-images/using-the-jwt-token-docker-secret.md" >}}).
- Download the image using your NGINX Ingress Controller subscription certificate and key. View the [Get NGINX Ingress Controller from the F5 Registry]({{< relref "installation/nic-images/get-registry-image" >}}) topic.
- Use your NGINX Ingress Controller subscription JWT token to get the image. View the [Get the NGINX Ingress Controller image with JWT]({{< relref "installation/nic-images/get-image-using-jwt.md" >}}) topic.
4 changes: 2 additions & 2 deletions docs/content/installation/ingress-nginx.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ doctypes:
- tutorial
tags:
- docs
title: Migrating from Ingress-NGINX Controller to NGINX Ingress Controller
title: Migrate from Ingress-NGINX Controller to NGINX Ingress Controller
toc: true
weight: 500
---

This document describes how to migrate from the community-maintained Ingress-NGINX Controller to the F5 NGINX Ingress Controller.
This document describes how to migrate from the community-maintained Ingress-NGINX Controller to F5 NGINX Ingress Controller.

## Overview

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ toc: true
weight: 100
---

This document explains how to install NGINX Ingress Controller using [Helm](https://helm.sh/).
This document explains how to install F5 NGINX Ingress Controller using [Helm](https://helm.sh/).

## Before you start

{{<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>}}
{{< 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 >}}

- A [Kubernetes Version Supported by the Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#supported-kubernetes-versions)
- A [Kubernetes Version Supported by NGINX Ingress Controller](https://docs.nginx.com/nginx-ingress-controller/technical-specifications/#supported-kubernetes-versions)
- Helm 3.0+.
- If you’d like to use NGINX Plus:
- 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/nic-images/using-the-jwt-token-docker-secret). Make sure to specify the secret using `controller.serviceAccount.imagePullSecretName` or `controller.serviceAccount.imagePullSecretsNames` parameter.
- Alternatively, pull an NGINX Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here]({{< relref "installation/nic-images/pulling-ingress-controller-image" >}}).
- Alternatively, you can NGINX build an Ingress Controller image with NGINX Plus and push it to your private registry by following the instructions from [here]({{< relref "installation/building-nginx-ingress-controller.md" >}}).
- Download the image using your NGINX Ingress Controller subscription certificate and key. View the [Get NGINX Ingress Controller from the F5 Registry]({{< relref "installation/nic-images/get-registry-image.md" >}}) topic.
- 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.
- The [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) topic explains how to push an image to a private Docker registry.
- Update the `controller.image.repository` field of the `values-plus.yaml` accordingly.
- 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.

Expand Down Expand Up @@ -285,11 +285,11 @@ The steps you should follow depend on the Helm release name:
{{</tabs>}}
## Running Multiple Ingress Controllers
## Run multiple Ingress Controllers
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. As a result, make sure that the Ingress Controller versions match the version of the CRDs. Additionally, when uninstalling a release, ensure that you don’t remove the CRDs until there are no other Ingress Controller releases running in the cluster.
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.
See [running multiple Ingress Controllers]({{< relref "installation/running-multiple-ingress-controllers.md" >}}) for more details.
The [Run multiple NGINX Ingress Controllers]({{< relref "installation/run-multiple-ingress-controllers.md" >}}) topic has more details.
## Configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,15 @@ This guide explains how to use Manifests to install NGINX Ingress Controller, th

### Get the NGINX Controller Image

{{<note>}} Always use the latest stable release listed on the [releases page]({{< relref "releases.md" >}}). {{</note>}}
{{< note >}} Always use the latest stable release listed on the [releases page]({{< relref "releases.md" >}}). {{< /note >}}

Choose one of the following methods to get the NGINX Ingress Controller image:

- **NGINX Ingress Controller**: Download the image `nginx/nginx-ingress` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress).
- **NGINX Plus Ingress Controller**: You have two options for this, both requiring an NGINX Ingress Controller subscription.

- Download the image using your NGINX Ingress Controller subscription certificate and key. Read the [Getting the F5 Registry NGINX Ingress Controller Image]({{< relref "installation/nic-images/pulling-ingress-controller-image.md" >}}) guide.
- Use your NGINX Ingress Controller subscription JWT token to get the image: Read the [Getting the NGINX Ingress Controller Image with JWT]({{< relref "installation/nic-images/using-the-jwt-token-docker-secret.md" >}}).

- **Build your own image**: To build your own image, follow the [Building NGINX Ingress Controller]({{< relref "installation/building-nginx-ingress-controller.md" >}}) guide.
- Download the image using your NGINX Ingress Controller subscription certificate and key. View the [Get NGINX Ingress Controller from the F5 Registry]({{< relref "installation/nic-images/get-registry-image.md" >}}) topic.
- 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.
- **Build your own image**: To build your own image, follow the [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) topic.

### Clone the repository

Expand Down Expand Up @@ -252,18 +250,18 @@ Connect to ports 80 and 443 using the IP address of any node in the cluster wher
kubectl delete namespace nginx-ingress
```
2. **Remove the cluster role and cluster role binding**:
1. **Remove the cluster role and cluster role binding**:
```shell
kubectl delete clusterrole nginx-ingress
kubectl delete clusterrolebinding nginx-ingress
```
3. **Delete the Custom Resource Definitions**:
1. **Delete the Custom Resource Definitions**:
{{<tabs name="delete-crds">}}
{{<tabs name="delete-crds">}}
{{%tab name="Deleting CRDs from single YAML"%}}
{{%tab name="Deleting CRDs from single YAML"%}}
1. Delete core custom resource definitions:
```shell
Expand All @@ -281,23 +279,23 @@ Connect to ports 80 and 443 using the IP address of any node in the cluster wher
```
{{%/tab%}}
{{%tab name="Deleting CRDs after cloning the repo"%}}
{{%tab name="Deleting CRDs after cloning the repo"%}}
1. Delete core custom resource definitions:
```shell
kubectl delete -f config/crd/bases/crds.yaml
```
2. Delete custom resource definitions for the NGINX App Protect WAF module:
1. Delete core custom resource definitions:
```shell
kubectl delete -f config/crd/bases/crds.yaml
```
2. Delete custom resource definitions for the NGINX App Protect WAF module:
```shell
kubectl apply -f config/crd/bases/crds-nap-waf.yaml
```
```shell
kubectl apply -f config/crd/bases/crds-nap-waf.yaml
```
3. Delete custom resource definitions for the NGINX App Protect DoS module:
```shell
kubectl apply -f config/crd/bases/crds-nap-dos.yaml
```
3. Delete custom resource definitions for the NGINX App Protect DoS module:
```shell
kubectl apply -f config/crd/bases/crds-nap-dos.yaml
```
{{%/tab%}}
{{%/tab%}}
{{</tabs>}}
{{</tabs>}}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
docs: DOCS-604
doctypes:
- ''
title: Installation with the NGINX Ingress Operator
title: Installation with NGINX Ingress Operator
toc: true
weight: 300
---
Expand All @@ -11,19 +11,17 @@ This document explains how to use NGINX Ingress Operator to install NGINX Ingres

## Before you start

{{<note>}} We recommend the most recent stable version of NGINX Ingress Controller, available on the GitHub repository's [releases page]({{< relref "releases.md" >}}). {{</note>}}
{{< note >}} We recommend the most recent stable version of NGINX Ingress Controller, available on the GitHub repository's [releases page]({{< relref "releases.md" >}}). {{< /note >}}

1. Make sure you have access to the NGINX Ingress Controller image:

- For NGINX Ingress Controller, use the image `nginx/nginx-ingress` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress).
- For NGINX Plus Ingress Controller, see [here]({{< relref "installation/nic-images/pulling-ingress-controller-image" >}}) for details on how to pull the image from the F5 Docker registry.
- 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]({{< relref "installation/nic-images/using-the-jwt-token-docker-secret" >}}).
- It is also possible to build your own image and push it to your private Docker registry by following the instructions from [here]({{< relref "installation/building-nginx-ingress-controller.md" >}})).

2. Install the NGINX Ingress Operator following the [instructions](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/docs/installation.md).
3. Create the SecurityContextConstraint as outlined in the ["Getting Started" instructions](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/README.md#getting-started).
- For NGINX Plus Ingress Controller, view the [Get the F5 Registry NGINX Ingress Controller image]({{< relref "installation/nic-images/get-registry-image.md" >}}) topic for details on how to pull the image from the F5 Docker registry.
- 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.
- The [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) topic explains how to push an image to a private Docker registry.
1. Install the NGINX Ingress Operator following the [instructions](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/docs/installation.md).
1. Create the SecurityContextConstraint as outlined in the ["Getting Started" instructions](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/README.md#getting-started).

{{<note>}} If you're upgrading your operator installation to a later release, navigate [here](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/helm-charts/nginx-ingress) and run `kubectl apply -f crds/` or `oc apply -f crds/` as a prerequisite{{</note>}}
{{< note >}} If you're upgrading your operator installation to a later release, navigate [here](https://github.com/nginxinc/nginx-ingress-helm-operator/blob/main/helm-charts/nginx-ingress) and run `kubectl apply -f crds/` or `oc apply -f crds/` as a prerequisite {{< /note >}}

## Create the NGINX Ingress Controller manifest

Expand All @@ -50,7 +48,7 @@ spec:
imagePullSecretName: ""
```
{{<note>}}For NGINX Plus, change the `image.repository` and `image.tag` values and change `nginxPlus` to `True`. If required, set the `serviceAccount.imagePullSecretName` or `serviceAccount.imagePullSecretsNames` to the name of the pre-created docker config secret that should be associated with the ServiceAccount.{{</note>}}
{{< note >}} For NGINX Plus, change the `image.repository` and `image.tag` values and change `nginxPlus` to `True`. If required, set the `serviceAccount.imagePullSecretName` or `serviceAccount.imagePullSecretsNames` to the name of the pre-created docker config secret that should be associated with the ServiceAccount. {{< /note >}}

## Deploy NGINX Ingress Controller

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ weight: 200

{{< tip >}}

Check out the complete [NGINX Ingress Controller with App Protect DoS example for VirtualServer](https://github.com/nginxinc/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/app-protect-dos) and the [NGINX Ingress Controller with App Protect DoS example for Ingress](https://github.com/nginxinc/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-dos).
Check out the complete [NGINX Ingress Controller with App Protect DoS example for VirtualServer](https://github.com/nginxinc/kubernetes-ingress/tree/v{{< nic-version >}}/examples/custom-resources/app-protect-dos) and the [NGINX Ingress Controller with App Protect DoS example for Ingress](https://github.com/nginxinc/kubernetes-ingress/tree/v{{< nic-version >}}/examples/ingress-resources/app-protect-dos).

{{< /tip >}}

Expand Down
Loading

0 comments on commit d3bdc77

Please sign in to comment.