SlideShare a Scribd company logo
AMAZON EKS DEEP DIVE
ANDRZEJ KOMARNICKI – DEVOPS ARCHITECT
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Kubernetes
Version
Kubernetes Patch
Version
Amazon EKS
Platform
Version
Enabled Admission Controllers Release Notes
1.10 1.10.3 eks.2 ​Initializers, NamespaceLifecycle, Limit
Ranger, ServiceAccount, DefaultStora
geClass, ResourceQuota, DefaultToler
ationSeconds, NodeRestriction, Muta
tingAdmissionWebhook,ValidatingAd
missionWebhook
•Added support for
Kubernetes aggregation layer.
•Added support for
Kubernetes Horizontal Pod
Autoscaler (HPA).
•Kubernetes Metrics Server 0.3.0
or greater is compatible with EKS
platform version eks.2.
1.10 1.10.3 eks.1 ​Initializers, NamespaceLifecycle, Limit
Ranger, ServiceAccount, DefaultStora
geClass, ResourceQuota, DefaultToler
ationSeconds,NodeRestriction
Initial launch of Amazon EKS.
Current and recent Amazon EKS platform versions are
described in the table below:
EKS CUSTOMERS
EKS – KUBERNETES MASTERS
EKS ARCHITECTURE
Amazon EKS Shared Responsibility Model
For Amazon EKS, AWS is responsible for the Kubernetes control plane, which includes the control
plane nodes and etcd database.
You assume responsibility and management of the following:
• The security configuration of the data plane, including the configuration of the security groups that
allow traffic to pass from the Amazon EKS control plane into the customer VPC
• The configuration of the worker nodes and the containers themselves
• The worker node guest operating system (including updates and security patches)
• Other associated application software:
• Setting up and managing network controls, such as firewall rules
• Managing platform-level identity and access management, either with or in addition to IAM
EKS NETWORKING
Amazon EKS Deep Dive
CNI PLUGIN
Any Kubernetes cluster on AWS
• EKS
• BYOK8s
Daemonset deployment
• kubectl create –f eks-cni.yaml
CNI INFRASTRUCTURE
VPC CNI NETWORKING INTERNALS
VPC CNI PLUGIN ARCHITECTURE
Amazon EKS Deep Dive
Amazon EKS Deep Dive
Kubernetes + AWS IAM
• AWS native access management
• In collaboration with Heptio
• Kubectl and worker nodes
• Works with Kubernetes RBAC
IAM Auth Support == Upstream in 1.10
https://github.com/kubernetes-sigs/aws-iam-authenticator
IAM AUTHENTICATION + KUBECTL
https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html
WORKER PROVISIONING
Load Balancing - Classic/NLB
Amazon EKS supports the Network Load Balancer and the Classic Load Balancer through the Kubernetes
service of type LoadBalancer. The configuration of your load balancer is controlled by annotations that are
added to the manifest for your service.
By default, Classic Load Balancers are used for LoadBalancer type services. To use the Network Load
Balancer instead, apply the following annotation to your service:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
Load Balancing - ALB
• CoreOS ALB Ingress Controller: Supported by AWS (in beta)
• Exposes ALB functionality to Kubernetes via Ingress Resources
• Layer 7 load balancing, supports content-based routing by host
or path
https://github.com/kubernetes-sigs/aws-alb-ingress-controller
The following diagram details the AWS components this controller creates. It also demonstrates the route
ingress traffic takes from the ALB to the Kubernetes cluster.
Ingress Creation
This section describes each step (circle) above. This example demonstrates satisfying 1 ingress resource.
[1]: The controller watches for ingress events from the API server. When it finds ingress resources that satisfy its
requirements, it begins the creation of AWS resources.
[2]: An ALB (ELBv2) is created in AWS for the new ingress resource. This ALB can be internet-facing or internal.
You can also specify the subnets it's created in using annotations.
[3]: Target Groups are created in AWS for each unique Kubernetes service described in the ingress resource.
[4]: Listeners are created for every port detailed in your ingress resource annotations. When no port is specified,
sensible defaults (80 or 443) are used. Certificates may also be attached via annotations.
[5]: Rules are created for each path specified in your ingress resource. This ensures traffic to a specific path is
routed to the correct Kubernetes Service.
Along with the above, the controller also...
•deletes AWS components when ingress resources are removed from k8s.
•modifies AWS components when ingress resources change in k8s.
•assembles a list of existing ingress-related AWS components on start-up, allowing you to recover if the controller
were to be restarted.
VISIBILITY THROUGHOUT YOUR KUBERNETES CLUSTER
LOG AGGREGATION IN CLOUDWATCH LOGS VIA FLUENTD
https://github.com/kubernetes/charts/tree/master/incubator/fluentd-cloudwatch
METRICS
CI/CD for apps on Kubernetes - options
Jenkins
AWS CodePipeline, AWS CodeCommit, AWS CodeBuild
AWS partners
• GitLab
• Shippable
• CircleCI
• Codeship
https://github.com/aws-samples/aws-kube-codesuite
Spot Instances
Amazon EC2 Spot Instances are spare EC2 capacity that offer discounts of 70-90% over On-
Demand prices. The Spot price is determined by term trends in supply and demand and the
amount of On-Demand capacity on a particular instance size, family, Availability Zone, and AWS
Region.
If the available On-Demand capacity of a particular instance type is depleted, the Spot Instance
is sent an interruption notice two minutes ahead to gracefully wrap up things. I recommend a
diversified fleet of instances, with multiple instance types created by Spot Fleets or EC2 Fleets.
You can use Spot Instances for various fault-tolerant and flexible applications. In a workload that
uses container orchestration and management platforms like EKS or Amazon Elastic Container
Service (Amazon ECS), the schedulers have built-in mechanisms to identify any pods or
containers on these interrupted EC2 instances. The interrupted pods or containers are then
replaced on other EC2 instances in the cluster.
Solution
component
Role in solution Code Deployment
Cluster Autoscaler
Scales EC2
instances in or out
Open source K8s pod DaemonSet on On-Demand Instances
Auto Scaling group
Provisions Spot or
On-Demand
Instances
AWS Via CloudFormation
Spot Instance
interrupt handler
Sets K8s nodes to
drain state, when
the Spot Instance
is interrupted
Open source
K8s pod DaemonSet on all K8s nodes with the
label lifecycle=EC2Spot
Solution architecture
There are three goals to accomplish with this solution:
1. The cluster must scale automatically to match the demands of an application.
2. Optimize for cost by using Spot Instances.
3. The cluster must be resilient to Spot Instance interruptions.
These goals are accomplished with the following components:
Amazon EKS Deep Dive
EKS Deep Dive Complete
http://www.linkedin.com/in/andrzejkomarnicki/

More Related Content

PDF
Getting Started on Amazon EKS
PPTX
Kubernetes PPT.pptx
PPTX
Gestion de projets agiles avec scrum
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PDF
⼤語⾔模型 LLM 應⽤開發入⾨
PPTX
Introduction to Docker - 2017
PDF
AWS 101: Introduction to AWS
PDF
Kubernetes Basics
Getting Started on Amazon EKS
Kubernetes PPT.pptx
Gestion de projets agiles avec scrum
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
⼤語⾔模型 LLM 應⽤開發入⾨
Introduction to Docker - 2017
AWS 101: Introduction to AWS
Kubernetes Basics

What's hot (20)

PDF
Kubernetes Networking
PPTX
Azure kubernetes service
PDF
Getting Started with Kubernetes
PDF
EKS Workshop
PDF
Kubernetes - A Comprehensive Overview
PDF
Amazon EKS multi-cluster gitops-bridge
PPTX
Kubernetes for Beginners: An Introductory Guide
PDF
Introduction of Kubernetes - Trang Nguyen
PDF
AWS Control Tower
PDF
Azure landing zones - Terraform module design considerations - Azure Architec...
PDF
AZ-900 Azure Fundamentals.pdf
PPTX
PPTX
Azure security and Compliance
PPTX
Kubernetes Introduction
PPTX
Docker Ecosystem on Azure
PDF
Kubernetes: A Short Introduction (2019)
PPTX
Introduction to Microsoft Azure
PDF
AWS Tutorial | AWS Certified Solutions Architect | Amazon AWS | AWS Training ...
PPTX
Terraform
PPTX
How to migrate workloads to the google cloud platform
Kubernetes Networking
Azure kubernetes service
Getting Started with Kubernetes
EKS Workshop
Kubernetes - A Comprehensive Overview
Amazon EKS multi-cluster gitops-bridge
Kubernetes for Beginners: An Introductory Guide
Introduction of Kubernetes - Trang Nguyen
AWS Control Tower
Azure landing zones - Terraform module design considerations - Azure Architec...
AZ-900 Azure Fundamentals.pdf
Azure security and Compliance
Kubernetes Introduction
Docker Ecosystem on Azure
Kubernetes: A Short Introduction (2019)
Introduction to Microsoft Azure
AWS Tutorial | AWS Certified Solutions Architect | Amazon AWS | AWS Training ...
Terraform
How to migrate workloads to the google cloud platform
Ad

Similar to Amazon EKS Deep Dive (20)

PPTX
EKS New features - Re:invent 2022 recap at AWSUGNL Benelux
PPTX
aks_training_document_Azure_kuberne.pptx
PPTX
Meetup CNCF Torino - Amazon EKS March 29th 2019
PDF
Docker clusters on AWS with Amazon ECS and Kubernetes
PDF
Aws container webinar day 1
PPTX
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
PDF
ECS and ECR deep dive
PDF
Running containers in AWS
PDF
A quick introduction to AKS
PDF
Elastic Kubernetes Services (EKS)
PDF
Building a Kubernetes App with Amazon EKS
PDF
Deploying a Kubernetes App with Amazon EKS
PPTX
EKS AWS Presentation kuberneted oriented
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PPTX
Running kubernetes with amazon eks
PPTX
Getting Started with Amazon EKS (Managed Kubernetes)
PPTX
Kubernetes-Fundamentals.pptx
PDF
Introduction to Amazon EKS - KubeCon 2018
PDF
AWS Community Day - Andrew May - Running Containers in AWS
PDF
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
EKS New features - Re:invent 2022 recap at AWSUGNL Benelux
aks_training_document_Azure_kuberne.pptx
Meetup CNCF Torino - Amazon EKS March 29th 2019
Docker clusters on AWS with Amazon ECS and Kubernetes
Aws container webinar day 1
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
ECS and ECR deep dive
Running containers in AWS
A quick introduction to AKS
Elastic Kubernetes Services (EKS)
Building a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
EKS AWS Presentation kuberneted oriented
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
Running kubernetes with amazon eks
Getting Started with Amazon EKS (Managed Kubernetes)
Kubernetes-Fundamentals.pptx
Introduction to Amazon EKS - KubeCon 2018
AWS Community Day - Andrew May - Running Containers in AWS
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
Ad

Recently uploaded (20)

PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
assetexplorer- product-overview - presentation
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Nekopoi APK 2025 free lastest update
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
history of c programming in notes for students .pptx
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
assetexplorer- product-overview - presentation
Reimagine Home Health with the Power of Agentic AI​
Nekopoi APK 2025 free lastest update
Navsoft: AI-Powered Business Solutions & Custom Software Development
Salesforce Agentforce AI Implementation.pdf
history of c programming in notes for students .pptx
Weekly report ppt - harsh dattuprasad patel.pptx
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
CHAPTER 2 - PM Management and IT Context
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Design an Analysis of Algorithms I-SECS-1021-03
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf

Amazon EKS Deep Dive

  • 1. AMAZON EKS DEEP DIVE ANDRZEJ KOMARNICKI – DEVOPS ARCHITECT
  • 14. Kubernetes Version Kubernetes Patch Version Amazon EKS Platform Version Enabled Admission Controllers Release Notes 1.10 1.10.3 eks.2 ​Initializers, NamespaceLifecycle, Limit Ranger, ServiceAccount, DefaultStora geClass, ResourceQuota, DefaultToler ationSeconds, NodeRestriction, Muta tingAdmissionWebhook,ValidatingAd missionWebhook •Added support for Kubernetes aggregation layer. •Added support for Kubernetes Horizontal Pod Autoscaler (HPA). •Kubernetes Metrics Server 0.3.0 or greater is compatible with EKS platform version eks.2. 1.10 1.10.3 eks.1 ​Initializers, NamespaceLifecycle, Limit Ranger, ServiceAccount, DefaultStora geClass, ResourceQuota, DefaultToler ationSeconds,NodeRestriction Initial launch of Amazon EKS. Current and recent Amazon EKS platform versions are described in the table below:
  • 18. Amazon EKS Shared Responsibility Model For Amazon EKS, AWS is responsible for the Kubernetes control plane, which includes the control plane nodes and etcd database. You assume responsibility and management of the following: • The security configuration of the data plane, including the configuration of the security groups that allow traffic to pass from the Amazon EKS control plane into the customer VPC • The configuration of the worker nodes and the containers themselves • The worker node guest operating system (including updates and security patches) • Other associated application software: • Setting up and managing network controls, such as firewall rules • Managing platform-level identity and access management, either with or in addition to IAM
  • 21. CNI PLUGIN Any Kubernetes cluster on AWS • EKS • BYOK8s Daemonset deployment • kubectl create –f eks-cni.yaml
  • 23. VPC CNI NETWORKING INTERNALS
  • 24. VPC CNI PLUGIN ARCHITECTURE
  • 27. Kubernetes + AWS IAM • AWS native access management • In collaboration with Heptio • Kubectl and worker nodes • Works with Kubernetes RBAC IAM Auth Support == Upstream in 1.10 https://github.com/kubernetes-sigs/aws-iam-authenticator
  • 28. IAM AUTHENTICATION + KUBECTL https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html
  • 30. Load Balancing - Classic/NLB Amazon EKS supports the Network Load Balancer and the Classic Load Balancer through the Kubernetes service of type LoadBalancer. The configuration of your load balancer is controlled by annotations that are added to the manifest for your service. By default, Classic Load Balancers are used for LoadBalancer type services. To use the Network Load Balancer instead, apply the following annotation to your service: service.beta.kubernetes.io/aws-load-balancer-type: nlb
  • 31. Load Balancing - ALB • CoreOS ALB Ingress Controller: Supported by AWS (in beta) • Exposes ALB functionality to Kubernetes via Ingress Resources • Layer 7 load balancing, supports content-based routing by host or path https://github.com/kubernetes-sigs/aws-alb-ingress-controller
  • 32. The following diagram details the AWS components this controller creates. It also demonstrates the route ingress traffic takes from the ALB to the Kubernetes cluster.
  • 33. Ingress Creation This section describes each step (circle) above. This example demonstrates satisfying 1 ingress resource. [1]: The controller watches for ingress events from the API server. When it finds ingress resources that satisfy its requirements, it begins the creation of AWS resources. [2]: An ALB (ELBv2) is created in AWS for the new ingress resource. This ALB can be internet-facing or internal. You can also specify the subnets it's created in using annotations. [3]: Target Groups are created in AWS for each unique Kubernetes service described in the ingress resource. [4]: Listeners are created for every port detailed in your ingress resource annotations. When no port is specified, sensible defaults (80 or 443) are used. Certificates may also be attached via annotations. [5]: Rules are created for each path specified in your ingress resource. This ensures traffic to a specific path is routed to the correct Kubernetes Service. Along with the above, the controller also... •deletes AWS components when ingress resources are removed from k8s. •modifies AWS components when ingress resources change in k8s. •assembles a list of existing ingress-related AWS components on start-up, allowing you to recover if the controller were to be restarted.
  • 34. VISIBILITY THROUGHOUT YOUR KUBERNETES CLUSTER
  • 35. LOG AGGREGATION IN CLOUDWATCH LOGS VIA FLUENTD https://github.com/kubernetes/charts/tree/master/incubator/fluentd-cloudwatch
  • 37. CI/CD for apps on Kubernetes - options Jenkins AWS CodePipeline, AWS CodeCommit, AWS CodeBuild AWS partners • GitLab • Shippable • CircleCI • Codeship
  • 39. Spot Instances Amazon EC2 Spot Instances are spare EC2 capacity that offer discounts of 70-90% over On- Demand prices. The Spot price is determined by term trends in supply and demand and the amount of On-Demand capacity on a particular instance size, family, Availability Zone, and AWS Region. If the available On-Demand capacity of a particular instance type is depleted, the Spot Instance is sent an interruption notice two minutes ahead to gracefully wrap up things. I recommend a diversified fleet of instances, with multiple instance types created by Spot Fleets or EC2 Fleets. You can use Spot Instances for various fault-tolerant and flexible applications. In a workload that uses container orchestration and management platforms like EKS or Amazon Elastic Container Service (Amazon ECS), the schedulers have built-in mechanisms to identify any pods or containers on these interrupted EC2 instances. The interrupted pods or containers are then replaced on other EC2 instances in the cluster.
  • 40. Solution component Role in solution Code Deployment Cluster Autoscaler Scales EC2 instances in or out Open source K8s pod DaemonSet on On-Demand Instances Auto Scaling group Provisions Spot or On-Demand Instances AWS Via CloudFormation Spot Instance interrupt handler Sets K8s nodes to drain state, when the Spot Instance is interrupted Open source K8s pod DaemonSet on all K8s nodes with the label lifecycle=EC2Spot Solution architecture There are three goals to accomplish with this solution: 1. The cluster must scale automatically to match the demands of an application. 2. Optimize for cost by using Spot Instances. 3. The cluster must be resilient to Spot Instance interruptions. These goals are accomplished with the following components:
  • 42. EKS Deep Dive Complete http://www.linkedin.com/in/andrzejkomarnicki/