---
title: Ingress-NGINX controller
description: This page describes the legacy CDM implementation, which will be deprecated in an upcoming release. We strongly recommend that you transition to the current CDM implementation as soon as possible.
component: forgeops
version: 7.2
page_id: forgeops::legacy/cdm/gke/setup/nginx
canonical_url: https://docs.pingidentity.com/forgeops/7.2/legacy/cdm/gke/setup/nginx.html
section_ids:
  next_step: Next step
---

# Ingress-NGINX controller

|   |                                                                                                                                                                                                                                       |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | This page describes the legacy CDM implementation, which will be deprecated in an upcoming release. We strongly recommend that you transition to [the current CDM implementation](../../../../cdm/overview.html) as soon as possible. |

Use the Ingress-NGINX controller when you deploy the CDM.

Remember, [the CDM is a reference implementation and not for production use](../../../../start/start-here.html#cdm-sandbox). When you [create a project plan](../../../../start/start-here.html#planning), you'll need to determine which ingress controller to use in production.

After you've finished deploying the CDM, you can use the CDM as a sandbox to explore deployment with a different ingress controller.

To deploy an Ingress-NGINX controller in a GKE cluster:

1. Verify that you initialized your cluster by performing the steps in [Kubernetes cluster creation](../../../../cdm/gke/setup/cluster.html).

   If you did not set up your cluster using this technique, the cluster might be missing some required configuration.

2. Deploy the Ingress-NGINX controller in your cluster:

   ```
   $ /path/to/forgeops/bin/ingress-controller-deploy.sh --gke
   Deploying Ingress Controller to GKE…​

   namespace/nginx created
   Detected cluster of type: small
   Setting ingress pod count to 1
   "ingress-nginx" has been added to your repositories
   Release "ingress-nginx" does not exist. Installing it now.
   NAME: ingress-nginx
   LAST DEPLOYED: Mon May 10 14:15:40 2021
   NAMESPACE: nginx
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   . . .
   ```

3. Check the status of the pods in the `nginx` namespace until all the pods are ready:

   ```
   $ kubectl get pods --namespace nginx
   NAME                                          READY  STATUS    RESTARTS  AGE
   ingress-nginx-controller-d794bb476-xxx6j      1/1    Running   0         4m38s
   ```

4. Get the ingress controller's external IP address:

   ```
   $ kubectl get services --namespace nginx
   NAME                                 TYPE           CLUSTER-IP   EXTERNAL-IP      PORT(S)                      AGE
   ingress-nginx-controller             LoadBalancer   10.4.6.154   35.203.145.112   80:30300/TCP,443:30638/TCP   58s
   ingress-nginx-controller-admission   ClusterIP      10.4.4.9     <none>           443/TCP                      58s
   ```

   The ingress controller's IP address should appear in the `EXTERNAL-IP` column. There can be a short delay while the ingress starts before the IP address appears in the `kubectl get services` command's output; you might need to run the command several times.

5. Add an entry to the /etc/hosts file to resolve the deployment FQDN used by the platform UIs and APIs. For example:

   ```
   ingress-ip-address prod.iam.example.com
   ```

   For ingress-ip-address, specify the external IP address of the ingress controller service in the previous command.

## Next step

* [icon: check-square-o, set=fa][Install third-party software](sw.html)

* [icon: check-square-o, set=fa][Set up a Google Cloud project](project.html)

* [icon: check-square-o, set=fa][Get the forgeops repository](forgeops.html)

* [icon: check-square-o, set=fa][Create a Kubernetes cluster](cluster.html)

* [icon: check-square-o, set=fa][Install the Secret Agent operator](secret-agent.html)

* [icon: check-square-o, set=fa][Deploy the Ingress-NGINX controller](#)

* [icon: square-o, set=fa]*[Deploy certificate manager](cert-manager.html)*

* [icon: square-o, set=fa][Deploy Prometheus, Grafana, and Alertmanager](prometheus.html)

* [icon: square-o, set=fa][Prepare to push Docker images](push.html)
