diff --git a/docs/content/installation/building-nginx-ingress-controller.md b/docs/content/installation/build-nginx-ingress-controller.md similarity index 89% rename from docs/content/installation/building-nginx-ingress-controller.md rename to docs/content/installation/build-nginx-ingress-controller.md index e4b1321a87..7ede182293 100644 --- a/docs/content/installation/building-nginx-ingress-controller.md +++ b/docs/content/installation/build-nginx-ingress-controller.md @@ -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. -{{}}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.{{}} +It also includes information on the Makefile targets and variables. + +{{}} 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. {{}} ## Before you start @@ -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. --- @@ -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. -{{}}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 >}} 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 @@ -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. -{{}}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.{{}} +{{}} 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. {{}} --- @@ -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. diff --git a/docs/content/installation/ingress-nginx.md b/docs/content/installation/ingress-nginx.md index adfce0953c..c20c842f1d 100644 --- a/docs/content/installation/ingress-nginx.md +++ b/docs/content/installation/ingress-nginx.md @@ -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 diff --git a/docs/content/installation/installing-nic/installation-with-helm.md b/docs/content/installation/installing-nic/installation-with-helm.md index 9dd6b409b2..705a9066ab 100644 --- a/docs/content/installation/installing-nic/installation-with-helm.md +++ b/docs/content/installation/installing-nic/installation-with-helm.md @@ -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 -{{}} All documentation should only be used with the latest stable release, indicated on [the releases page]({{< relref "releases.md" >}}) of the GitHub repository. {{}} +{{< 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. @@ -285,11 +285,11 @@ The steps you should follow depend on the Helm release name: {{}} -## 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 diff --git a/docs/content/installation/installing-nic/installation-with-manifests.md b/docs/content/installation/installing-nic/installation-with-manifests.md index d619d4a668..2e755b2d3b 100644 --- a/docs/content/installation/installing-nic/installation-with-manifests.md +++ b/docs/content/installation/installing-nic/installation-with-manifests.md @@ -13,17 +13,15 @@ This guide explains how to use Manifests to install NGINX Ingress Controller, th ### Get the NGINX Controller Image -{{}} Always use the latest stable release listed on the [releases page]({{< relref "releases.md" >}}). {{}} +{{< 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 @@ -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**: - {{}} +{{}} - {{%tab name="Deleting CRDs from single YAML"%}} +{{%tab name="Deleting CRDs from single YAML"%}} 1. Delete core custom resource definitions: ```shell @@ -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%}} - {{}} +{{}} diff --git a/docs/content/installation/installing-nic/installation-with-operator.md b/docs/content/installation/installing-nic/installation-with-operator.md index de4387aad8..2ccb083a7d 100644 --- a/docs/content/installation/installing-nic/installation-with-operator.md +++ b/docs/content/installation/installing-nic/installation-with-operator.md @@ -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 --- @@ -11,19 +11,17 @@ This document explains how to use NGINX Ingress Operator to install NGINX Ingres ## Before you start -{{}} We recommend the most recent stable version of NGINX Ingress Controller, available on the GitHub repository's [releases page]({{< relref "releases.md" >}}). {{}} +{{< 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). -{{}} 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 >}} 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 @@ -50,7 +48,7 @@ spec: imagePullSecretName: "" ``` -{{}}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 >}} 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 diff --git a/docs/content/installation/integrations/app-protect-dos/configuration.md b/docs/content/installation/integrations/app-protect-dos/configuration.md index 8362dd3fbb..be396fa5d8 100644 --- a/docs/content/installation/integrations/app-protect-dos/configuration.md +++ b/docs/content/installation/integrations/app-protect-dos/configuration.md @@ -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 >}} diff --git a/docs/content/installation/integrations/app-protect-dos/installation.md b/docs/content/installation/integrations/app-protect-dos/installation.md index 5545d651b5..79e9eee27f 100644 --- a/docs/content/installation/integrations/app-protect-dos/installation.md +++ b/docs/content/installation/integrations/app-protect-dos/installation.md @@ -71,7 +71,7 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect Do make debian-image-dos-plus PREFIX=/nginx-plus-ingress TARGET=download ``` - **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. + **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. {{}}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.{{}} @@ -88,7 +88,7 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect Do
-{{}}For the complete list of _Makefile_ targets and customizable variables, see the [Building NGINX Ingress Controller]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}) guide{{}} +{{< see-also >}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}) topic. {{}} --- @@ -224,5 +224,5 @@ For more information, see the [Configuration guide]({{< relref "installation/int If you prefer not to build your own NGINX Ingress Controller image, you can use pre-built images. Here are your options: -- 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.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. diff --git a/docs/content/installation/integrations/app-protect-dos/troubleshooting-app-protect-dos.md b/docs/content/installation/integrations/app-protect-dos/troubleshoot-app-protect-dos.md similarity index 99% rename from docs/content/installation/integrations/app-protect-dos/troubleshooting-app-protect-dos.md rename to docs/content/installation/integrations/app-protect-dos/troubleshoot-app-protect-dos.md index ad8aee8705..29efe18a6f 100644 --- a/docs/content/installation/integrations/app-protect-dos/troubleshooting-app-protect-dos.md +++ b/docs/content/installation/integrations/app-protect-dos/troubleshoot-app-protect-dos.md @@ -2,7 +2,7 @@ docs: DOCS-1456 doctypes: - '' -title: Troubleshooting NGINX App Protect DoS +title: Troubleshoot NGINX App Protect DoS toc: true weight: 400 --- diff --git a/docs/content/installation/integrations/app-protect-waf-v5/installation.md b/docs/content/installation/integrations/app-protect-waf-v5/installation.md index 018916281f..3dec753cec 100644 --- a/docs/content/installation/integrations/app-protect-waf-v5/installation.md +++ b/docs/content/installation/integrations/app-protect-waf-v5/installation.md @@ -74,13 +74,13 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect WA make debian-image-nap-v5-plus PREFIX=/nginx-plus-ingress TARGET=download ``` - **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. + **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. {{}} In the event a patch 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. {{}} ### Makefile targets {#makefile-targets} -Create Docker image for Ingress Controller (Alpine with NGINX Plus, NGINX App Protect WAF v5 and FIPS) +Create Docker image for NGINX Ingress Controller (Alpine with NGINX Plus, NGINX App Protect WAF v5 and FIPS) {{}} | Makefile Target | Description | Compatible Systems | @@ -93,7 +93,7 @@ Create Docker image for Ingress Controller (Alpine with NGINX Plus, NGINX App Pr
-{{}} For the complete list of _Makefile_ targets and customizable variables, see the [Building NGINX Ingress Controller]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}) guide. {{}} +{{}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}) guide. {{}} If you intend to use [external references](/nginx-app-protect-waf/v5/configuration/#external-references) in NGINX App Protect WAF policies, you may want to provide a custom CA certificate to authenticate with the hosting server. @@ -344,6 +344,5 @@ For more information, see the [Configuration guide]({{< relref "installation/int If you prefer not to build your own NGINX Ingress Controller image, you can use pre-built images. Here are your options: -- 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 WAF +- 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. diff --git a/docs/content/installation/integrations/app-protect-waf/configuration.md b/docs/content/installation/integrations/app-protect-waf/configuration.md index 287aed7bb1..600556feb9 100644 --- a/docs/content/installation/integrations/app-protect-waf/configuration.md +++ b/docs/content/installation/integrations/app-protect-waf/configuration.md @@ -156,7 +156,7 @@ You can define NGINX App Protect WAF [User-Defined Signatures](/nginx-app-protec The field `revisionDatetime` is not currently supported. -`APUserSig` resources increase the reload time of NGINX Plus compared with `APPolicy` and `APLogConf` resources. Read [NGINX fails to start or reload]({{< relref "installation/integrations/app-protect-waf/troubleshooting-app-protect-waf.md#nginx-fails-to-start-or-reload" >}}) for more information. +`APUserSig` resources increase the reload time of NGINX Plus compared with `APPolicy` and `APLogConf` resources. Read [NGINX fails to start or reload]({{< relref "installation/integrations/app-protect-waf/troubleshoot-app-protect-waf.md#nginx-fails-to-start-or-reload" >}}) for more information. {{< /note >}} diff --git a/docs/content/installation/integrations/app-protect-waf/installation.md b/docs/content/installation/integrations/app-protect-waf/installation.md index 0b77ed2754..453e5917cf 100644 --- a/docs/content/installation/integrations/app-protect-waf/installation.md +++ b/docs/content/installation/integrations/app-protect-waf/installation.md @@ -62,7 +62,7 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect WA make debian-image-dos-plus PREFIX=/nginx-plus-ingress TARGET=download ``` - **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. + **What to expect**: The image is built and tagged with a version number, which is derived from the `VERSION` variable in the [_Makefile_]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}). This version number is used for tracking and deployment purposes. {{}} In the event a patch 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. {{}} @@ -79,7 +79,7 @@ Follow these steps to build the NGINX Controller Image with NGINX App Protect WA
-{{}} For the complete list of _Makefile_ targets and customizable variables, see the [Building NGINX Ingress Controller]({{< relref "installation/building-nginx-ingress-controller.md#makefile-details" >}}) guide. {{}} +{{< see-also >}} For the complete list of _Makefile_ targets and customizable variables, see the [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md#makefile-details" >}}) topic. {{}} --- @@ -217,5 +217,5 @@ For more information, see the [Configuration guide]({{< relref "installation/int If you prefer not to build your own NGINX Ingress Controller image, you can use pre-built images. Here are your options: -- 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.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. diff --git a/docs/content/installation/integrations/app-protect-waf/troubleshooting-app-protect-waf.md b/docs/content/installation/integrations/app-protect-waf/troubleshoot-app-protect-waf.md similarity index 99% rename from docs/content/installation/integrations/app-protect-waf/troubleshooting-app-protect-waf.md rename to docs/content/installation/integrations/app-protect-waf/troubleshoot-app-protect-waf.md index f005c9ebf0..a0d6d6dfca 100644 --- a/docs/content/installation/integrations/app-protect-waf/troubleshooting-app-protect-waf.md +++ b/docs/content/installation/integrations/app-protect-waf/troubleshoot-app-protect-waf.md @@ -2,7 +2,7 @@ docs: DOCS-0000 doctypes: - '' -title: Troubleshooting NGINX App Protect WAF +title: Troubleshoot NGINX App Protect WAF toc: true weight: 300 --- diff --git a/docs/content/installation/integrations/f5-ingresslink.md b/docs/content/installation/integrations/f5-ingresslink.md index dec6e79ec5..0a068ec0e8 100644 --- a/docs/content/installation/integrations/f5-ingresslink.md +++ b/docs/content/installation/integrations/f5-ingresslink.md @@ -7,9 +7,9 @@ toc: true weight: 400 --- -Learn how to use NGINX Ingress Controller with F5 IngressLink to configure your F5 BIG-IP device. +Learn how to use F5 IngressLink with NGINX Ingress Controller to configure your F5 BIG-IP device. -F5 IngressLink is the integration between NGINX Ingress Controller and [F5 BIG-IP Container Ingress Services](https://clouddocs.f5.com/containers/latest/) (CIS) that configures an F5 BIG-IP device as a load balancer for NGINX Ingress Controller pods. +F5 IngressLink is an integration between NGINX Ingress Controller and [F5 BIG-IP Container Ingress Services](https://clouddocs.f5.com/containers/latest/) (CIS) that configures an F5 BIG-IP device as a load balancer for NGINX Ingress Controller pods. ## Install NGINX Ingress Controller with the integration enabled diff --git a/docs/content/installation/integrations/opentracing.md b/docs/content/installation/integrations/opentracing.md index 2d10ff1fdf..3310813806 100644 --- a/docs/content/installation/integrations/opentracing.md +++ b/docs/content/installation/integrations/opentracing.md @@ -7,16 +7,16 @@ toc: true weight: 500 --- -Learn how to use OpenTracing with NGINX Ingress Controller. +Learn how to use OpenTracing with F5 NGINX Ingress Controller. NGINX Ingress Controller supports [OpenTracing](https://opentracing.io/) with the third-party module [opentracing-contrib/nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing). ## Prerequisites -1. Use an Ingress Controller image that contains OpenTracing. +1. Use a NGINX Ingress Controller image that contains OpenTracing. - You can find the images that include OpenTracing listed [in the technical specs doc]({{< relref "technical-specifications.md#supported-docker-images" >}}). - - Alternatively, you can [build your own image]({{< relref "installation/building-nginx-ingress-controller.md" >}}) using `debian-image` (or `alpine-image`) for NGINX or `debian-image-plus` (or `alpine-image-plus`) for NGINX Plus. + - Alternatively, you follow [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) using `debian-image` (or `alpine-image`) for NGINX or `debian-image-plus` (or `alpine-image-plus`) for NGINX Plus. - [Jaeger](https://github.com/jaegertracing/jaeger-client-cpp), [Zipkin](https://github.com/rnburn/zipkin-cpp-opentracing) and [Datadog](https://github.com/DataDog/dd-opentracing-cpp/) tracers are installed by default. 1. Enable snippets annotations by setting the [`enable-snippets`]({{< relref "configuration/global-configuration/command-line-arguments#cmdoption-enable-snippets" >}}) command-line argument to true. diff --git a/docs/content/installation/nic-images/_index.md b/docs/content/installation/nic-images/_index.md index 1d740ffaaa..41ac35081f 100644 --- a/docs/content/installation/nic-images/_index.md +++ b/docs/content/installation/nic-images/_index.md @@ -1,5 +1,5 @@ --- -title: NGINX Ingress Controller Images +title: NGINX Ingress Controller images description: weight: 300 --- diff --git a/docs/content/installation/nic-images/using-the-jwt-token-docker-secret.md b/docs/content/installation/nic-images/get-image-using-jwt.md similarity index 91% rename from docs/content/installation/nic-images/using-the-jwt-token-docker-secret.md rename to docs/content/installation/nic-images/get-image-using-jwt.md index ccb0866590..3f1701c7f0 100644 --- a/docs/content/installation/nic-images/using-the-jwt-token-docker-secret.md +++ b/docs/content/installation/nic-images/get-image-using-jwt.md @@ -2,29 +2,34 @@ docs: DOCS-1454 doctypes: - '' -title: Getting the NGINX Ingress Controller Image with JWT +title: Get the NGINX Ingress Controller image with JWT toc: true weight: 150 --- -Follow the steps in this document to pull the NGINX Plus Ingress Controller image from the F5 Docker registry into your Kubernetes cluster using your JWT token. +This document describes how to pull the F5 NGINX Plus Ingress Controller image from the F5 Docker registry into your Kubernetes cluster using your JWT token. ## Overview -{{}} +{{< important >}} + An NGINX Plus subscription certificate and key will not work with the F5 Docker registry. For NGINX Ingress Controller, you must have an NGINX Ingress Controller subscription -- download the NGINX Plus Ingress Controller (per instance) JWT access token from [MyF5](https://my.f5.com). -To list the available image tags using the Docker registry API, you will also need to download the NGINX Plus Ingress Controller (per instance) certificate (`nginx-repo.crt`) and the key (`nginx-repo.key`) from [MyF5](https://my.f5.com).{{}} +To list the available image tags using the Docker registry API, you will also need to download the NGINX Plus Ingress Controller (per instance) certificate (`nginx-repo.crt`) and the key (`nginx-repo.key`) from [MyF5](https://my.f5.com). + +{{< /important >}} {{< note >}} + You can also get the image using alternative methods: -* You can use Docker to pull an NGINX Ingress Controller image with NGINX Plus and push it to your private registry by following the ["Pulling the Ingress Controller Image"]({{< relref "installation/nic-images/pulling-ingress-controller-image" >}}) documentation. -* You can build an NGINX Ingress Controller image by following the ["Information on how to build an Ingress Controller image"]({{< relref "installation/building-nginx-ingress-controller" >}}) documentation. +* You can use Docker to pull an NGINX Ingress Controller image with NGINX Plus and push it to your private registry by following the [Get NGINX Ingress Controller from the F5 Registry]({{< relref "installation/nic-images/get-registry-image.md" >}}) topic. +* You can follow the [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) topic. + +If you would like to use an NGINX Ingress Controller image with NGINX open source, we provide the image through [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/). -If you would like to use an NGINX Ingress Controller image using NGINX open source, we provide the image through [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/). {{< /note >}} ## Before You Begin diff --git a/docs/content/installation/nic-images/pulling-ingress-controller-image.md b/docs/content/installation/nic-images/get-registry-image.md similarity index 91% rename from docs/content/installation/nic-images/pulling-ingress-controller-image.md rename to docs/content/installation/nic-images/get-registry-image.md index 3a1cedb5d5..b76393f8ef 100644 --- a/docs/content/installation/nic-images/pulling-ingress-controller-image.md +++ b/docs/content/installation/nic-images/get-registry-image.md @@ -2,12 +2,14 @@ docs: DOCS-605 doctypes: - install -title: Getting the F5 Registry NGINX Ingress Controller Image +title: Get NGINX Ingress Controller from the F5 Registry toc: true weight: 100 --- -Learn how to pull an F5 NGINX Plus Ingress Controller image, including those with NGINX App Protect WAF and NGINX App Protect DoS, from the official F5 Docker registry and upload it to your private registry. +Learn how to pull an F5 NGINX Plus Ingress Controller image from the official F5 Docker registry and upload it to your private registry. + +The F5 Registry images include versions with NGINX App Protect WAF and NGINX App Protect DoS. This guide covers the prerequisites, image tagging, and troubleshooting steps. @@ -195,6 +197,6 @@ If you encounter issues while following this guide, here are solutions to common You can also get the NGINX Ingress Controller image using the following alternate methods: -- [Install using a JWT token in a Docker Config Secret]({{< relref "using-the-jwt-token-docker-secret" >}}). -- [Build the Ingress Controller image]({{< relref "building-nginx-ingress-controller" >}}) using the source code from the GitHub repository and your NGINX Plus subscription certificate and key. -- For NGINX Ingress Controller based on NGINX OSS, you can pull the [nginx/nginx-ingress image](https://hub.docker.com/r/nginx/nginx-ingress/) from DockerHub. +- [Get the NGINX Ingress Controller image with JWT]({{< relref "get-image-using-jwt.md" >}}). +- [Build NGINX Ingress Controller]({{< relref "installation/build-nginx-ingress-controller.md" >}}) using the source code from the GitHub repository and your NGINX Plus subscription certificate and key. +- For NGINX Ingress Controller using NGINX OSS, you can pull the [nginx/nginx-ingress image](https://hub.docker.com/r/nginx/nginx-ingress/) from DockerHub. diff --git a/docs/content/installation/nic-images/using-aws-marketplace-image.md b/docs/content/installation/nic-images/use-aws-image.md similarity index 98% rename from docs/content/installation/nic-images/using-aws-marketplace-image.md rename to docs/content/installation/nic-images/use-aws-image.md index 40f64af7c8..2ae9ffac56 100644 --- a/docs/content/installation/nic-images/using-aws-marketplace-image.md +++ b/docs/content/installation/nic-images/use-aws-image.md @@ -2,7 +2,7 @@ docs: DOCS-607 doctypes: - '' -title: Using the AWS Marketplace NGINX Ingress Controller Image +title: Use the AWS Marketplace NGINX Ingress Controller image toc: true weight: 200 --- diff --git a/docs/content/installation/nic-images/using-gcp-marketplace-package.md b/docs/content/installation/nic-images/use-gcp-image.md similarity index 98% rename from docs/content/installation/nic-images/using-gcp-marketplace-package.md rename to docs/content/installation/nic-images/use-gcp-image.md index ff362c1c58..7b6f9c27b1 100644 --- a/docs/content/installation/nic-images/using-gcp-marketplace-package.md +++ b/docs/content/installation/nic-images/use-gcp-image.md @@ -2,7 +2,7 @@ docs: DOCS-1455 doctypes: - '' -title: Using the GCP Marketplace NGINX Ingress Controller Image +title: Use the GCP Marketplace NGINX Ingress Controller image toc: true weight: 300 --- diff --git a/docs/content/installation/running-multiple-ingress-controllers.md b/docs/content/installation/run-multiple-ingress-controllers.md similarity index 74% rename from docs/content/installation/running-multiple-ingress-controllers.md rename to docs/content/installation/run-multiple-ingress-controllers.md index 6198ee64f9..7d8dea8cfa 100644 --- a/docs/content/installation/running-multiple-ingress-controllers.md +++ b/docs/content/installation/run-multiple-ingress-controllers.md @@ -2,24 +2,27 @@ docs: DOCS-606 doctypes: - '' -title: Running Multiple NGINX Ingress Controllers +title: Run multiple NGINX Ingress Controllers toc: true weight: 400 --- -This document describes how to run multiple NGINX Ingress Controllers. +This document describes how to run multiple F5 NGINX Ingress Controller instances. It explains the following topics: - Ingress class concept. -- How to run NGINX Ingress Controller in the same cluster with another Ingress Controller, such as an Ingress Controller for a cloud HTTP load balancer, and prevent any conflicts between the Ingress Controllers. +- How to run NGINX Ingress Controller in the same cluster with another Ingress Controller and prevent conflicts between them - How to run multiple NGINX Ingress Controllers. -{{< note >}}In this document we refer to the [Ingress]({{< relref "/configuration/ingress-resources/basic-configuration.md" >}}), [VirtualServer]({{< relref "/configuration/virtualserver-and-virtualserverroute-resources.md#virtualserver-specification" >}}), [VirtualServerRoute]({{< relref "/configuration/virtualserver-and-virtualserverroute-resources.md#virtualserverroute-specification" >}}), and [TransportServer]({{< relref "/configuration/transportserver-resource.md" >}}) resources as "configuration resources".{{< /note >}} +{{< note >}} This document refers to [Ingress]({{< relref "/configuration/ingress-resources/basic-configuration.md" >}}), [VirtualServer]({{< relref "/configuration/virtualserver-and-virtualserverroute-resources.md#virtualserver-specification" >}}), [VirtualServerRoute]({{< relref "/configuration/virtualserver-and-virtualserverroute-resources.md#virtualserverroute-specification" >}}), and [TransportServer]({{< relref "/configuration/transportserver-resource.md" >}}) resources as "configuration resources".{{< /note >}} + +--- ## Ingress class -Thanks to the Ingress class concept, multiple Ingress Controllers can coexist in one cluster. The Ingress class has the following characteristics: +The [IngressClass](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class) resource allows for multiple Ingress Controller to operate in the same cluster. It also allow developers to select which Ingress Controller implementation to use for their Ingress resource. +The IngressClass has the following characteristics: - Every Ingress Controller must only handle Ingress resources for its particular class. - Ingress resources need to have the `ingressClassName` field set to the value of the class of the Ingress Controller the user wants to use. @@ -32,13 +35,17 @@ The default Ingress class of NGINX Ingress Controller is `nginx`, which means th {{< note >}}- If the class of an Ingress resource is not set, Kubernetes will set it to the class of the default Ingress Controller. To make the Ingress Controller the default one, the `ingressclass.kubernetes.io/is-default-class` property must be set on the IngressClass resource. To learn more, see Step 3 *Create an IngressClass resource* of the [Create Common Resources]({{< relref "installation/installing-nic/installation-with-manifests.md#create-common-resources" >}}) section. - For VirtualServer, VirtualServerRoute, Policy and TransportServer resources, NGINX Ingress Controller will always handle resources with an empty class.{{< /note >}} -## Running NGINX Ingress Controller and another Ingress Controller +--- + +## Run NGINX Ingress Controller and another Ingress Controller It is possible to run NGINX Ingress Controller and an Ingress Controller for another load balancer in the same cluster. This is often the case if you create your cluster through a cloud provider's managed Kubernetes service that by default might include the Ingress Controller for the HTTP load balancer of the cloud provider, and you want to use NGINX Ingress Controller. -To make sure that NGINX Ingress Controller handles specific configuration resources, update those resources with the class set to `nginx` (or the Ingress class value that you configured in NGINX Ingress Controller). +To make sure that NGINX Ingress Controller handles specific configuration resources, update those resources with the class set to the value that is configured in NGINX Ingress Controller. By default, this is `nginx`. + +--- -## Running multiple NGINX Ingress Controllers +## Run multiple NGINX Ingress Controllers When running NGINX Ingress Controller, you have the following options with regards to which configuration resources it handles: diff --git a/docs/content/logging-and-monitoring/prometheus.md b/docs/content/logging-and-monitoring/prometheus.md index 710539b4a2..ef512d7d98 100644 --- a/docs/content/logging-and-monitoring/prometheus.md +++ b/docs/content/logging-and-monitoring/prometheus.md @@ -34,7 +34,7 @@ If you're using *Kubernetes manifests* (Deployment or DaemonSet) to install the ### Using Helm -If you're using *Helm* to install the Ingress Controller, to enable Prometheus metrics, configure the `prometheus.*` parameters of the Helm chart. See the [Installation with Helm](/nginx-ingress-controller/installation/installation-with-helm) doc. +If you're using *Helm* to install the Ingress Controller, to enable Prometheus metrics, configure the `prometheus.*` parameters of the Helm chart. See the [Installation with Helm]({{< relref "installation/installing-nic/installation-with-helm.md">}}) doc. ### Using ServiceMonitor diff --git a/docs/content/technical-specifications.md b/docs/content/technical-specifications.md index 02699aad0c..070117b85d 100644 --- a/docs/content/technical-specifications.md +++ b/docs/content/technical-specifications.md @@ -74,7 +74,7 @@ _NGINX Plus images include NGINX Plus R32._ #### **F5 Container registry** -NGINX Plus images are available through the F5 Container registry `private-registry.nginx.com`, explained in the [Get the NGINX Ingress Controller image with JWT]({{}}) and [Get the F5 Registry NGINX Ingress Controller image]({{}}) topics. +NGINX Plus images are available through the F5 Container registry `private-registry.nginx.com`, explained in the [Get the NGINX Ingress Controller image with JWT]({{}}) and [Get the F5 Registry NGINX Ingress Controller image]({{}}) topics. {{< bootstrap-table "table table-striped table-bordered table-responsive" >}} |
Name
|
Base image
|
Third-party modules
| F5 Container Registry Image | Architectures | @@ -101,7 +101,7 @@ NGINX Plus images are available through the F5 Container registry `private-regis NGINX Plus images are available through the AWS Marketplace. -View the [Use the AWS Marketplace Ingress Controller image]({{< relref "/installation/nic-images/using-aws-marketplace-image.md" >}}) topic for details on how to set up the required IAM resources in your EKS cluster. +View the [Use the AWS Marketplace Ingress Controller image]({{< relref "/installation/nic-images/use-aws-image.md" >}}) topic for details on how to set up the required IAM resources in your EKS cluster. {{< bootstrap-table "table table-striped table-bordered table-responsive" >}} |
Name
|
Base image
|
Third-party modules
| AWS Marketplace Link | Architectures | @@ -117,7 +117,7 @@ View the [Use the AWS Marketplace Ingress Controller image]({{< relref "/install #### **Google Cloud Marketplace** NGINX Plus images are available through the Google Cloud Marketplace. -View the [Use the GCP Marketplace NGINX Ingress Controller image]({{< relref "/installation/nic-images/using-gcp-marketplace-package.md" >}}) topic for details on how to use them. +View the [Use the GCP Marketplace NGINX Ingress Controller image]({{< relref "/installation/nic-images/use-gcp-image.md" >}}) topic for details on how to use them. {{< bootstrap-table "table table-striped table-bordered table-responsive" >}} |
Name
|
Base image
|
Third-party modules
| GCP Marketplace Link | Architectures |