EKS Setup
Step 1: Add Helm Repositories
Add the required Helm repositories:
Step 2: Create EKS Cluster Configuration
Create a file named cluster.yaml:
Key Configuration Details:
disableDefaultAddons: true- Disables AWS VPC CNI and kube-proxy (Cilium will replace both)withOIDC: true- Enables IAM roles for service accounts (required for Cilium to manage ENIs)corednsaddon is retained as it’s needed for DNS resolution
Why Disable Default Addons?
Cilium provides its own CNI implementation using eBPF, which is more performant than the default AWS VPC CNI. By disabling the defaults, we avoid conflicts and let Cilium handle all networking.
Step 3: Create the EKS Cluster
Create the cluster (this takes approximately 15-20 minutes):
Verify the cluster is created:
Expected Output:
- CoreDNS pods will be in
Pendingstate (this is normal - they’re waiting for the CNI) - No worker nodes yet
Note
Without a CNI plugin, pods cannot get IP addresses or network connectivity. CoreDNS will remain pending until Cilium is installed.
Step 4: Get Kubernetes API Server Endpoint
You’ll need this for the Cilium configuration:
Save this endpoint - you’ll use it in the Cilium installation step.
Step 5: Install Prometheus CRDs
Cilium uses Prometheus ServiceMonitor CRDs for metrics:
Next Steps
With the EKS cluster created, you’re ready to install Cilium, Hubble, and Tetragon.