Amazon EKS

  • Managed Kubernetes Service
  • Elastic container service for Kubernetes makes it easy to deploy, manage and scale containerized applications using k8s on AWS
  • runs the Kubernetes management infrastructure for you across multiple AWS availability zones to eliminate a single point of failure

Why managed version of Kubernetes?

  • Reduces workload to manage k8s applications
  • makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane

Interfaces to AWS EKS

  1. AWS Console
  2. CLI
    • can use  kubectl to communicate with your cluster
  3. SDK

EKS Cluster

  1. First step is to create EKS cluster
    • which is Kubernetes Control plane
    • provision control plane instances in AWS service account (not customer account) in multiple availability zones
      • EKS is by default Highly Available (HA)
    • cluster is configurable e.g. define name of cluster, k8s version, IAM role, vpc subnets etc.
    • AWS EKS automatically detects and replaces unhealthy control plane instances, and it provides automated version upgrades and patching for them
  2. Launch EC2 worker nodes that register with the Amazon EKS cluster

AWS EKS Integrations

  • Elastic Load Balancing for load distribution (Scalability)
  • IAM for authentication (Security)
  • Amazon VPC for isolation Security)
  • use all the existing plugins and tooling from the Kubernetes community (Extensible)


EKS Security

UI Dashboard


  • AWS EKS is integrated with CloudTrail and logs actions taken by user and activity calls