Step 2: Create a Cluster
Create a Cluster Baseline — an EKS cluster built on top of your Network Baseline.
A Cluster Baseline provisions an EKS cluster inside the Network you created in the previous step. The VPC, region, and subnets are inherited automatically from the Network Baseline.
What gets created
An EKS cluster with your chosen Kubernetes version
Cluster IAM role and service account configuration
OIDC provider for IAM Roles for Service Accounts (IRSA)
A Kubernetes Provider and Scope automatically connected to the new cluster
Walkthrough
Step 1 — Navigate to Cluster
In the left sidebar, click DevOps and select Cluster from the submenu.

Step 2 — Cluster List
The Cluster page lists all existing clusters with their type, EKS version, status, and mode. When starting fresh the list is empty. Click + Create cluster to begin.

Step 3 — Cluster Details
The Create Cluster Baseline wizard opens. Fill in the first page:
Name — a unique identifier for the cluster (e.g.
prod-eks-cluster)Description — optional
Account (Scope) — the cloud account scope to provision into (e.g.
full-access-us-east-1)Skills — optional; attach custom skills to this cluster
Click Next.

Step 4 — Cluster Spec
Define the cluster configuration. Select Create new to provision a fresh EKS cluster, or Import existing to register an existing one.
Network Source — select Choose Network to inherit VPC and subnet details from a provisioned network baseline
Network — select the network (e.g.
prod-network-1). Region, VPC ID, and subnet IDs are inherited automatically.Cluster Type —
StandardEKS Version — the Kubernetes version to deploy (e.g.
1.33). This field is required even if the UI labels it optional.API Server Visibility —
Publicexposes the Kubernetes API endpoint publicly;Privaterestricts it to the VPCControl Plane Logging — optional; select which EKS control plane log types to enable (API, Audit, Authenticator, etc.)
Cluster IP CIDR — optional; leave blank to use the EKS default (
172.20.0.0/16)
Click Create & Provision.

Step 5 — Provisioning Started
The cluster detail page opens immediately with Status: Pending. The spec summary confirms:
Cluster type: Standard
EKS version: 1.33
API server visibility: Public
Cluster IP CIDR: Default
Control plane logging: None
Click Track Provisioning Status to open the agent ticket and follow the provisioning workflow in real time.

Step 6 — Agent Ticket Opens
The agent opens a ticket and begins the provisioning workflow using the duplo-aws-infra skill. The initial phases run immediately:
Phase 0 — Acknowledge: The agent reads the
aws-cluster-baseline.jsonskill file to load its provisioning instructions.Phase 0.5 — AWS_PROFILE guard: Confirms that AWS credentials are correctly configured for the target account before proceeding.
Phase 1 — Parse & Validate: Begins parsing the cluster specification passed from the UI.

Step 7 — Phase 1: Parse & Validate
The agent extracts and validates all fields from the cluster object:
name,vpcId,region,subnets— inherited from the linked Network BaselineclusterType—StandardeksVersion—1.33apiServerVisibility— normalized to lowercase (public)
The agent then validates that the resolved region is accessible before advancing to computation.

Step 8 — Phase 2: Compute & Phase 3: Provision
Phase 2 — Compute derives the resources needed:
EKS IAM role name (derived from the cluster name)
AMI type for managed node groups
Phase 3 — Provision via CloudFormation then begins:
Derives the CloudFormation stack name from the cluster name
Checks whether the stack already exists to prevent duplicate provisioning
Deploys the CloudFormation template, creating the EKS cluster, IAM roles, and associated resources
Polls stack events in real time, reporting each resource as it is created

Step 9 — Stack Outputs & OIDC Provider
Once the CloudFormation stack completes, the agent runs finalization steps:
Step 4.2.3 — Reads all stack outputs: cluster ARN, API endpoint, certificate authority (CA) data, security group IDs, and subnet associations. Posts the full CA data and parses the result back to the controller.
Step 4.2 — Create OIDC identity provider: Registers the cluster's OIDC issuer URL as a trusted identity provider in IAM, enabling IAM Roles for Service Accounts (IRSA).

Step 10 — Output Validation & Completion
The agent finalizes the provisioning:
Step 4.3 — Validates the assembled
output.jsonagainst the skill's output schema to confirm all required fields are present and correctly typed.Step 5 — Posts the final results to the controller and sets the cluster status to Complete.
Step 5.5 — Reports the provisioning completion summary with all key cluster details.

Step 11 — Provisioning Complete
The agent reports Step 5.5 — Completion. The EKS cluster is fully provisioned. The summary confirms:
EKS Cluster ARN — the full Amazon Resource Name for the cluster
API Endpoint — the Kubernetes API server URL
OIDC Issuer URL — the identity provider URL for IRSA configuration
Cluster Security Group — the security group attached to the EKS control plane
All-Host Security Group — the security group applied to all worker nodes
CloudFormation Stack — the stack name managing all provisioned resources

Step 12 — Cluster List: Ready
After provisioning completes the Cluster list shows prod-eks-cluster with Status: Ready, type Standard, and EKS version 1.33. The three-dot menu on any cluster row gives access to View, Deprovision, and Delete.

Step 13 — Cluster Overview
Click into the cluster to open the detail page. The Overview tab displays all key cluster identifiers:
Cluster ARN —
arn:aws:eks:us-east-1:813590939111:cluster/prod-eks-clusterAPI Endpoint — the Kubernetes API server URL (
*.gr7.us-east-1.eks.amazonaws.com)OIDC Issuer URL — used to configure IAM Roles for Service Accounts (IRSA)
Certificate Authority — the base64-encoded CA data for
kubectlconfiguration
The left sidebar exposes full cluster navigation: Workloads (Pods, Deployments, StatefulSets, DaemonSets, Jobs, CronJobs), Configs, Network, Volumes, and Observe.

Step 14 — Cluster Attributes
Click Attributes in the sidebar to configure optional Kubernetes components and EKS add-ons. The Configure Cluster Attributes panel lists all available components:
Cluster Autoscaler
Secret CSI Driver
ALB Load Balancer Controller
EFS Volumes
Metrics Server
Kube State Metrics
Flux CD
External DNS
Each component can be individually enabled. The EKS Addons section allows installing managed AWS add-ons via + Add Addon. Click Configure to apply selections.

Step 15 — Selecting Components
Check the components you want enabled on the cluster. Each checkbox enables that controller or add-on during the next attributes provisioning run. Components can be enabled incrementally — you do not need to select all at once.

Step 16 — External DNS Domain Filters
When External DNS is enabled, a Domain Filters field appears requiring at least one domain. Enter the Route 53 hosted zone domain (e.g. example.com) and click + Add Domain for additional domains. External DNS will only manage records within the specified domains.

Step 17 — Attributes Saved
After clicking Configure, the attributes are saved as a named configuration object (prod-eks-cluster-attributes) with Status: New while the agent applies the changes. The summary lists each component and its enabled/disabled state:
Cluster Autoscaler
Enabled
Secret CSI Driver
Enabled
ALB Load Balancer Controller
Enabled
EFS Volumes
Enabled
Metrics Server
Enabled
Kube State Metrics
Enabled
Flux CD
Enabled
External DNS
Disabled
Click Track Provisioning Status to follow the agent as it installs the selected components into the cluster.

Next step
Once the Cluster Baseline status shows Ready, proceed to Step 3: Create an Environment.
Last updated
Was this helpful?

