---
title: Kubernetes cluster creation
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/eks/setup/cluster
canonical_url: https://docs.pingidentity.com/forgeops/7.2/legacy/cdm/eks/setup/cluster.html
section_ids:
  next_step: Next step
---

# Kubernetes cluster creation

|   |                                                                                                                                                                                                                                       |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | 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. |

ForgeRock provides shell scripts based on AWS CloudFormation to use for EKS cluster creation. Use them when you deploy the CDM. After you've finished deploying the CDM, you can use the CDM as a sandbox to explore a different infrastructure-as-code solution, if you like.

When you [Create a Project Plan](../../../../start/start-here.html#planning), you'll need to identify your organization's preferred infrastructure-as-code solution, and create your own cluster creation automation scripts, if necessary.

Here are the steps the Cloud Deployment Team followed to create a Kubernetes cluster on EKS:

1. Create your cluster:

   1. Change to the directory that contains the cluster creation script:

      ```
      $ cd /path/to/forgeops/cluster/eks
      ```

   2. Run the cluster creation script. Specify the YAML file that contains the configuration for your cluster size. For example\[[1](#_footnotedef_1 "View footnote.")]:

      ```
      $ ./cluster-up.sh small.yaml
      ```

      To verify that the cluster has been created, log in to the AWS console. Select the EKS service link. You should see the new cluster in the list of Amazon EKS clusters.

   3. Run the kubectx command:

      ```
      $ kubectx
      . . .
      user.name@small.us-east-1.eksctl.io
      ```

      The output should contain your newly created cluster and any existing clusters.

      The current context should be set to the context for your new cluster.

2. Set context to the `prod` namespace:

   ```
   $ kubens prod
   ```

3. Check the status of the pods in your cluster until all the pods are ready:

   1. List all the pods in the cluster:

      ```
      $ kubectl get pods --all-namespaces
      NAMESPACE     NAME                                  READY   STATUS    RESTARTS   AGE
      kube-system   aws-node-8h9cm                        1/1     Running   0          81m
      kube-system   aws-node-9ckfr                        1/1     Running   0          82m
      kube-system   aws-node-df9bh                        1/1     Running   0          81m
      kube-system   aws-node-rz6pw                        1/1     Running   0          81m
      kube-system   aws-node-wc44j                        1/1     Running   0          82m
      kube-system   aws-node-xx6q6                        1/1     Running   0          81m
      kube-system   coredns-65bfc5645f-fffhh              1/1     Running   0          103m
      kube-system   coredns-65bfc5645f-k69g6              1/1     Running   0          103m
      kube-system   ebs-csi-node-2tkgj                    3/3     Running   0          79m
      kube-system   ebs-csi-node-6skkk                    3/3     Running   0          79m
      kube-system   ebs-csi-node-bbp92                    3/3     Running   0          79m
      kube-system   ebs-csi-node-bz729                    3/3     Running   0          79m
      kube-system   ebs-csi-node-hc96q                    3/3     Running   0          79m
      kube-system   ebs-csi-node-ksm2s                    3/3     Running   0          79m
      kube-system   kube-proxy-59chh                      1/1     Running   0          81m
      kube-system   kube-proxy-9r6dl                      1/1     Running   0          82m
      kube-system   kube-proxy-9zvtw                      1/1     Running   0          81m
      kube-system   kube-proxy-c79qc                      1/1     Running   0          82m
      kube-system   kube-proxy-h4svc                      1/1     Running   0          81m
      kube-system   kube-proxy-j47n5                      1/1     Running   0          81m
      kube-system   metrics-server-5f4b6b9889-dr8bj       1/1     Running   0          79m
      kube-system   snapshot-controller-bb7675d55-5vr2f   1/1     Running   0          79m
      kube-system   snapshot-controller-bb7675d55-g2qjc   1/1     Running   0          79m
      ```

   2. Review the output. Deployment is complete when:

      * The `READY` column indicates all running containers are available. The entry in the `READY` column represents \[total number of containers/number of available containers].

      * All entries in the `STATUS` column indicate `Running` or `Completed`.

   3. If necessary, continue to query your cluster's status until all the pods are ready.

## Next step

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

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

* [icon: check-square-o, set=fa][Set up your AWS environment](aws-env.html)

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

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

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

* [icon: square-o, set=fa][Deploy the Ingress-NGINX controller](nginx.html)

* [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)

***

[1](#_footnoteref_1). The cluster creation script adds a set of required labels to clusters created by ForgeRock employees. The first time you run the script, it prompts you to specify whether you're a ForgeRock employee or not, so that it can add these labels if appropriate. You should not receive this prompt during subsequent executions of the script.
