Amazon EKS

Amazon Elastic Kubernetes Service (EKS) is a certified conformant Kubernetes managed service that runs upstream Kubernetes on AWS.

While the Kubernetes API contracts, resource definitions (Pod, Deployment, Service, StatefulSet), and scheduling mechanisms remain 100% universal, EKS delegates infrastructure primitives—such as networking, identity, storage, and node lifecycle—to dedicated AWS cloud services.

flowchart LR
    subgraph Universal["Universal Kubernetes Abstraction"]
        K8sAuth["X.509 / OIDC Token"]
        K8sSA["ServiceAccount"]
        K8sNet["CNI IPAM & Service"]
        K8sNode["Kubelet Node Lifecycle"]
        K8sPVC["PersistentVolumeClaim"]
        K8sIngress["Ingress / Gateway API"]
    end

    subgraph AWS["EKS AWS Implementation"]
        IAMAuth["IAM & EKS Access Entries"]
        PodId["EKS Pod Identity / IRSA"]
        VPCCNI["Amazon VPC CNI (ENIs & IPs)"]
        Karpenter["Karpenter & Auto Mode / MNG"]
        CSI["EBS / EFS / FSx CSI Drivers"]
        ALB["AWS Load Balancer Controller / VPC Lattice"]
    end

    K8sAuth -->|Maps to| IAMAuth
    K8sSA -->|Assumes| PodId
    K8sNet -->|Provisions| VPCCNI
    K8sNode -->|Auto-provisions| Karpenter
    K8sPVC -->|Attaches| CSI
    K8sIngress -->|Configures| ALB

Universal Concept → EKS Implementation Matrix

Use this matrix to translate core upstream Kubernetes primitives (taught in Levels 01–09) to their production AWS counterparts:

DomainUniversal Kubernetes ConceptAWS / EKS ImplementationCore Concept LinkEKS Track Link
Cluster AuthNX.509 Client Certificates, Webhook TokenAWS IAM (sts:GetCallerIdentity) + EKS Access EntriesL07 — SecurityEKS Security
Cluster AuthZRBAC (Role, ClusterRoleBinding)Kubernetes RBAC combined with IAM Access Policies03 — RBACEKS Security
Workload IdentityProjected ServiceAccount TokensEKS Pod Identity (Modern) & IRSA (IAM Roles for Service Accounts)02 — Service AccountsEKS Security
Pod NetworkingOverlay CNI (Calico, Flannel, Cilium)Amazon VPC CNI (Direct AWS VPC IP per Pod via ENIs)L04 — NetworkingEKS Networking
Network IsolationNetworkPolicy resourceVPC CNI Network Policy Engine (eBPF) or Cilium05 — Network PolicyEKS Networking
Node AutoscalingCluster Autoscaler (ASG polling)Karpenter (Just-in-time NodePool provisioning) or EKS Auto Mode09 — Cluster AutoscalerEKS Compute
Compute PoolsBare-metal / Static VM KubeletsManaged Node Groups (MNG), AWS Fargate, or Self-Managed NodesL01 — ArchitectureEKS Compute
Block StorageReadWriteOnce Volumes (HostPath / Ceph)Amazon EBS CSI Driver (gp3, io2)L05 — StorageEKS Storage
Shared StorageReadWriteMany Volumes (NFS)Amazon EFS CSI Driver or FSx for NetApp ONTAPL05 — StorageEKS Storage
Object StorageS3 API client libraries in containerMountpoint for Amazon S3 CSI DriverL05 — StorageEKS Storage
L4 Load BalancingService type: LoadBalancerAWS Network Load Balancer (NLB) via AWS Load Balancer Controller02 — ServicesEKS Networking
L7 RoutingIngress & Gateway API (HTTPRoute)Application Load Balancer (ALB) & Amazon VPC Lattice Gateway Controller04 — IngressEKS Networking
Secret ManagementKubernetes Secret resource (Base64)AWS Secrets Manager / Parameter Store via Secrets Store CSI Driver (ASO)02 — SecretsEKS Security
Control Plane MetricsPrometheus /metrics scrapingAmazon CloudWatch Container Insights & Amazon Managed Prometheus (AMP)04 — Metrics SourcesEKS Observability

EKS Architecture Categories

1. Getting Started

Tools, prerequisites, cluster creation with eksctl/Terraform, and first application deployment.

2. Compute

Managed Node Groups, Fargate profiles, Karpenter high-velocity autoscaling, EKS Auto Mode, and Hybrid Nodes.

3. Networking

Amazon VPC CNI, Secondary CIDRs, Security Groups for Pods, eBPF Network Policies, and VPC Lattice service networks.

4. Storage

EBS CSI Driver, EFS CSI Driver, FSx for NetApp ONTAP, FSx for OpenZFS, and Mountpoint for Amazon S3.

5. Security

EKS Access Entries (replacing legacy aws-auth), EKS Pod Identity, IRSA, Secrets Management, GuardDuty runtime monitoring, and Pod Security Standards.

6. Observability

Control plane logging, CloudWatch Container Insights, AWS Distro for OpenTelemetry (ADOT), Prometheus, and Kubecost.

7. Cluster Upgrades

Zero-downtime control plane updates, node group rolling upgrades, addon compatibility matrices, and disaster recovery.

8. Automation

GitOps with Argo CD & Flux, AWS Controllers for Kubernetes (ACK), Crossplane, and CI/CD pipelines.

9. Advanced

Event-driven autoscaling with KEDA, HPA/VPA tuning, advanced multi-tenant networking, and FinOps cost optimization.

10. Troubleshooting

Common EKS failure modes (VPC CNI IP exhaustion, Node NotReady, CoreDNS degradation), diagnostic playbooks, and AWS Support tools.


Quick Reference

Common CLI Commands

# Provision cluster via eksctl
eksctl create cluster --name production-cluster --region us-east-1 --version 1.32
 
# Update local kubeconfig context
aws eks update-kubeconfig --region us-east-1 --name production-cluster
 
# List active nodegroups
aws eks list-nodegroups --cluster-name production-cluster
 
# Query EKS Access Entries (Modern AuthN/AuthZ)
aws eks list-access-entries --cluster-name production-cluster

Key Managed Addons

AddonUpstream EquivalentPurpose
vpc-cniUpstream CNI PluginAllocates real VPC IPv4/IPv6 addresses directly to Pods
corednsCoreDNSCluster-internal DNS service discovery
kube-proxykube-proxyImplements Kubernetes Service ClusterIP packet routing
aws-ebs-csi-driverCSI Node DriverAttaches and mounts Amazon EBS block volumes dynamically
aws-efs-csi-driverCSI Node DriverMounts scalable NFS file shares across multiple Availability Zones

External Resources

Across the wiki