---
title: Ingress-NGINX controller
description: Use the Ingress-NGINX controller when you deploy the CDM.
component: forgeops
version: 7.2
page_id: forgeops::cdm/eks/setup/nginx
canonical_url: https://docs.pingidentity.com/forgeops/7.2/cdm/eks/setup/nginx.html
section_ids:
  next_step: Next step
---

# Ingress-NGINX controller

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 an EKS cluster:

1. Verify that you initialized your cluster by performing the steps in [Kubernetes cluster creation](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 --eks
   Deploying Ingress Controller to EKS...
   namespace/nginx created
   Detected cluster of type: cdm-small
   Setting ingress pod count to 2
   "ingress-nginx" has been added to your repositories
   Release "ingress-nginx" does not exist. Installing it now.
   NAME: ingress-nginx
   ...
   ```

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-bb566bf7b-c9kmk   1/1     Running   0          2m45s
   ingress-nginx-controller-bb566bf7b-l6dz6   1/1     Running   0          2m45s
   ```

4. Obtain the DNS name (shown under the EXTERNAL-IP column) of the load balancer:

   ```
   $ kubectl get services --namespace nginx
   NAME                                 TYPE           CLUSTER-IP     EXTERNAL-IP                                    PORT(S)                      AGE
   ingress-nginx-controller             LoadBalancer   10.100.43.88   ac5f2939...ca4.elb.us-east-1.amazonaws.com   80:30005/TCP,443:30770/TCP   62s
   ingress-nginx-controller-admission   ClusterIP      10.100.2.215   <none>                                         443/TCP                      62s
   ```

5. Wait for a couple of minutes for the load balancer to be assigned the external IP address. Then, get the external IP addresses of the load balancer. For example:

   ```
   $ host ac5f2939...42d085.elb.us-east-1.amazonaws.com
   ac5f2939...42d085.elb.us-east-1.amazonaws.com has address 3.210.123.210
   ```

   The host command returns several IP addresses. You can use any of the IP addresses when you modify your local hosts file in the next step for evaluation purposes. You must create an appropriate entry in your DNS servers for production deployments.

6. Configure hostname resolution for the ingress controller:

   1. Choose an FQDN (referred to as the *deployment FQDN*) that you'll use when you deploy the Ping Identity Platform, and when you access its GUIs and REST APIs.

      Examples in this documentation use `cdm.example.com` as the deployment FQDN. You are not required to use `cdm.example.com`; you can specify any FQDN you like.

   2. If DNS does not resolve your deployment FQDN, add an entry similar to the following to the /etc/hosts file:

      ```
      ingress-ip-address cdm.example.com
      ```

      For ingress-ip-address, specify the ingress controller's external IP address.

## Next step

* [icon: check-square-o, set=fa][Become familiar with the CDM](../../intro.html)

* [icon: check-square-o, set=fa][Understand CDM architecture](../../architecture.html)

* [icon: check-square-o, set=fa][Set up your local environment and create a cluster](../../setup-cdm.html)

* [icon: square-o, set=fa]*[Deploy the platform](../../deploy.html)*

* [icon: square-o, set=fa][Access platform UIs and APIs](../../access.html)

* [icon: square-o, set=fa][Plan for production deployment](../../next-steps.html)
