- Managed K8s control plane
- Highly available
- 2+ API nodes and 3+
etcd
nodes across 3 AZs - Automatic replacement of unhealthy control plane nodes
- SLA 99.95%
- 2+ API nodes and 3+
- Secure
- Integrated with VPC network policies
- Uses official utility
eksctl
to create and manage clusters - Fargate
- In some regions user can run K8s nodes on Fargate (serverless container runtime)
- Flat hourly rate for each cluster, other resources (EC2, EBS, etc.) used in clusters are billed on their own
- You choose K8s versions such as
1.15
or1.16
, and EKS attach its own version to the initial K8s version introduced to EKS aseks.1
and increase that number along with upstream minor versions- Minor version upgrade is automatic
- Minor version upgrade does not introduce breaking changes, or causes service interruptions
- Minor version upgrade is incremental so it could take sometime for a certain cluster to upgrade to a new version, user can create new clusters to use new version immediately
- New EKS clusters always start with latest K8s minor version of selected major version

Storage
- EKS uses storage class to utilize EBS as persistent storage
Autoscaling
- Cluster Autoscaler = Scale to right number of EC2 instances as needed
- Horizontal Pod Autoscaler = Scale to right number of pods to handle workloads
- Vertical Pod Autoscaler = Adjust CPU / RAM reservations for pods
Load Balancing
- K8s
LoadBalancer
service = Use NLB or CLB as load balancer - ALB Ingress Controller = Provision ALB as load balancer
- with
kubernetes.io/ingress.class: alb
annotation
- with
Networking
Diagrams







