SlideShare a Scribd company logo
6
Most read
7
Most read
16
Most read
THAILAND
EKS From Zero to Day 1
V-ris Jaijongrak | 25 Jan 2025
About Me
Senior Platform Engineer at Pi Securities PCL
All AWS Certified (12 x)
CNCF Certified Kubestronaut (5 x)
Main Responsibilities:
- CI/CD (ArgoCD, Github Actions)
- EKS
- Cloud Platform Engineer (AWS)
https://www.linkedin.com/in/v-ris-jaijongrak/
Key Takeaways
- Kubernetes as container orchestration and EKS
- IaC for EKS with Terraform
- EKS setup with addons
- EKS Tune up suggestions (for Gitops, Karpenter, Auto mode)
Introduction
Containers & Orchestration
A solution of build once deploy anywhere popularized by Docker
Build instruction stored in `Dockerfile`
Inside docker image, consists of layers constructed by command in Dockerfile
Deploying containers also becomes a problem especially with microservices
1. Networking
2. Resource Management
3. Security policies
EKS
Kubernetes High-level perspective:
- Control Plane (Kubernetes API server + etcd)
- Worker Nodes (kube-proxy, kubelet, deployments, …)
EKS is a managed Kubernetes Service (Amazon Elastic Kubernetes Service)
Like ECS, you can run EKS with EC2 worker nodes, Fargate or Outposts
IaC (Terraform/CDK8s) & AWS IA EKS Blueprints
IaC (Infrastructure as Code) is an approach to simplify the control of the Infrastructure
via code instead of static config and deploying every piece by different tools.
Terraform module for EKS: (registry.terraform.io)
AWS IA: github.com/aws-ia/terraform-aws-eks-blueprints-addons
EKS
Barebone EKS terraform example
github.com/guxkung/eks-terraform
It is my personal github, I will try to get more educational sandbox
example to update with (soon)
Architecture
EKS Add-ons
To extend EKS capabilities and management, EKS introduced Add-ons as plugin:
AWS-Managed:
CloudWatch Observability, GuardDuty, SageMaker, etc.
Marketplace add-ons: allow integration with EKS from 3rd party vendors
EKS Cluster Access
AWS introduces a new approach to access/update the EKS Cluster via Kubernetes API
“EKS Cluster Access”
Previously, the authentication can be done via specialized ConfigMap embedded into
EKS cluster to create an allow-list
Instead of embedding that in the ConfigMap, the meta-data itself can now be
referenced via EKS API directly and allow the entry to be more specific. (and more AWS
IAM statement alike)
EKS Cluster Endpoint
AWS recommends the Cluster to be only privately accessible for security reason. (then
Networking Security for Private Networking applies, i.e., Security Group, NACL)
The second best would be allowing only IP from CIDR to access from public endpoint.
(the DNS entry can be resolved from public internet but accessing from other
addresses will be blocked)
This settings can be modified anytime, but be aware of losing connections from
application side/tools
IRSA (IAM Role to Service Account)
IAM Role: S3BusinessBucketAccess (allows S3 access to business bucket)
Service Account: business:billing-sa (billing application in business namespace can
assume the role and perform S3 actions on the bucket)
IRSA Step-by-step
From our example, this would be the steps to setup IRSA
1. Create the IAM role (permission policy + trusted policy)
2. Create ServiceAccount and Associate with IAM role in EKS
3. Utilize the Service Account in the K8s applications/pods
This approach is more efficient because the token can be stored at agent instead of
directly connect to OIDC provider of the EKS cluster
EKS Pod Identity Association
To let Kubernetes applications connect with AWS services, it is now recommended to
use Pod Identity associations (IAM role -> K8s Service Account)
The steps are now:
1. Install EKS Pod Identity AddOn to the EKS cluster → pod-identity-agent
2. Create the IAM role
3. Create association with Console/EKS API for IAM Role to ServiceAccount
4. Utilize the Service Account in the K8s applications/pods
The connection to OIDC provider of the EKS cluster is more efficient this way
Appendices
Custom Networking
Customizing the VPC-CNI add-ons to support network capabilities such as:
SNAT configuration (allows pods to reside in different subnet than nodes), the NAT can
be done at node level or subnet level via route table
Pod IP Pool (IPAM) secondary ENI will utilize the pre-allocated IP address range and
assigned to the pods, IPAM guarantees that the IP address requested is available
Max pods configuration on nodes after consolidating the settings, max pods number
will be calculated and put on definition of nodegroup
Custom CNI
For advanced CNI, can be installed in chain-mode or migrate to stand-alone
GitOps
Alternatively, if you really start from zero with a centralized management
cluster/account KubeFirst is also viable (Community edition will be restricted with
publicly accessible only)
Tools for GitOps you may consider:
More projects can be found at https://landscape.cncf.io/
Auto Mode & Karpenter
Cost Optimization, operation excellence are the main concerns for this Karpenter/Auto
mode
Auto Mode leaves the optimization of the workload on the nodepool to be fully
managed service (i.e., AWS will manage the network, nodes implicitly) with some
additional cost
To use all the custom plugin/deployments manually deploy Karpenter is recommended
Summary
- We learned about foundation of Kubernetes and EKS (Control Plane + Data Plane
(Worker Node)
- Introduction to EKS and EKS Addons (coredns, kube-proxy, VPC-CNI, etc.)
- A Demo of Terraform to construct EKS cluster (and auto-mode example to try-out)
- Gitops concept and the Karpenter (nodepool and node scaling)
Q&A

More Related Content

PDF
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
PDF
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
PDF
A journey from mesos to kubernetes in AWS!
PDF
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
PDF
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
PDF
Amazon EKS - security best practices - 2022
PDF
BlueData EPIC on AWS - Spec Sheet
PDF
Set_up_Kubernetes_clusters_on_premises_&_on_AWS_with_Cisco_Container_Platform...
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
A journey from mesos to kubernetes in AWS!
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Amazon EKS - security best practices - 2022
BlueData EPIC on AWS - Spec Sheet
Set_up_Kubernetes_clusters_on_premises_&_on_AWS_with_Cisco_Container_Platform...

Similar to Amazon Elastic Kubernetes Service (EKS) From Zero to Day 1 (20)

PPTX
EKS New features - Re:invent 2022 recap at AWSUGNL Benelux
PPTX
before-v7-AWS-Fargate-and-EKS-Masterclass.pptx
PPTX
AWS-Fargate-and-AWS-EKS-Masterclass-V7.pptx
PDF
5 - Hands-on Kubernetes Workshop:
PPTX
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
PDF
21CS72-module-5-textbook.pdf VTU notes for Bachelors' of engineering
PPTX
Kubernetes-Fundamentals.pptx
PDF
Aws + kubernetes = ❤︎
PDF
Securing Containerized Workloads on Amazon ECs
PDF
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
PDF
Container orchestration k8s azure kubernetes services
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PPTX
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
PDF
Top 31 Cloud Computing Interview Questions and Answers.
PDF
Deep Dive on Microservices and Docker
PDF
Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf
PDF
Hybridní cloud s F5 v prostředí kontejnerů
PDF
Why kubernetes for Serverless (FaaS)
PDF
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
PDF
Lesson learns from Japan cloud trend
EKS New features - Re:invent 2022 recap at AWSUGNL Benelux
before-v7-AWS-Fargate-and-EKS-Masterclass.pptx
AWS-Fargate-and-AWS-EKS-Masterclass-V7.pptx
5 - Hands-on Kubernetes Workshop:
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
21CS72-module-5-textbook.pdf VTU notes for Bachelors' of engineering
Kubernetes-Fundamentals.pptx
Aws + kubernetes = ❤︎
Securing Containerized Workloads on Amazon ECs
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
Container orchestration k8s azure kubernetes services
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
Top 31 Cloud Computing Interview Questions and Answers.
Deep Dive on Microservices and Docker
Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf
Hybridní cloud s F5 v prostředí kontejnerů
Why kubernetes for Serverless (FaaS)
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Lesson learns from Japan cloud trend
Ad

More from AWS User Group - Thailand (19)

PDF
Building Agentic AI with Multi-Agent Orchestrator Framework
PDF
AWS Infrastructure Pipeline with Terraform and Pre-commit Check
PDF
Get Started and Migrate to Thailand Region
PDF
From AWS Native to Github Integration
PDF
Simplifying AWS Network Patterns for Complex Networking Requirements
PDF
Application Monitoring with Amazon CloudWatch Application Signals
PDF
Starting from a containerised POC and applying best practices/Well Architecte...
PDF
Talking to Your Redshift Data Warehouse with Bedrock Knowledge Base
PDF
Why should we use S3 tables instead of S3 standard for Iceberg Data Lakehouse
PDF
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
PPTX
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
PDF
AWS Community Day Bangkok 2019 - How AWS Parallel Cluster can accelerate high...
PDF
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
PDF
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
PDF
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
PDF
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Infrastr...
PDF
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
PDF
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
PDF
AWS Meetup: Career Day 2019 - AWS Certificate: Why and How?
Building Agentic AI with Multi-Agent Orchestrator Framework
AWS Infrastructure Pipeline with Terraform and Pre-commit Check
Get Started and Migrate to Thailand Region
From AWS Native to Github Integration
Simplifying AWS Network Patterns for Complex Networking Requirements
Application Monitoring with Amazon CloudWatch Application Signals
Starting from a containerised POC and applying best practices/Well Architecte...
Talking to Your Redshift Data Warehouse with Bedrock Knowledge Base
Why should we use S3 tables instead of S3 standard for Iceberg Data Lakehouse
AWS Community Day Bangkok 2019 - Build a Serverless Web Application in 30 mins
AWS Community Day Bangkok 2019 - DevOps Cost Reduction using Jenkins & AWS Sp...
AWS Community Day Bangkok 2019 - How AWS Parallel Cluster can accelerate high...
AWS Community Day Bangkok 2019 - Building & Deploying AWS Lambda with Serverl...
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Infrastr...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - AWS Certificate: Why and How?
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
Programs and apps: productivity, graphics, security and other tools
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf

Amazon Elastic Kubernetes Service (EKS) From Zero to Day 1

  • 2. EKS From Zero to Day 1 V-ris Jaijongrak | 25 Jan 2025
  • 3. About Me Senior Platform Engineer at Pi Securities PCL All AWS Certified (12 x) CNCF Certified Kubestronaut (5 x) Main Responsibilities: - CI/CD (ArgoCD, Github Actions) - EKS - Cloud Platform Engineer (AWS) https://www.linkedin.com/in/v-ris-jaijongrak/
  • 4. Key Takeaways - Kubernetes as container orchestration and EKS - IaC for EKS with Terraform - EKS setup with addons - EKS Tune up suggestions (for Gitops, Karpenter, Auto mode)
  • 6. Containers & Orchestration A solution of build once deploy anywhere popularized by Docker Build instruction stored in `Dockerfile` Inside docker image, consists of layers constructed by command in Dockerfile Deploying containers also becomes a problem especially with microservices 1. Networking 2. Resource Management 3. Security policies
  • 7. EKS Kubernetes High-level perspective: - Control Plane (Kubernetes API server + etcd) - Worker Nodes (kube-proxy, kubelet, deployments, …) EKS is a managed Kubernetes Service (Amazon Elastic Kubernetes Service) Like ECS, you can run EKS with EC2 worker nodes, Fargate or Outposts
  • 8. IaC (Terraform/CDK8s) & AWS IA EKS Blueprints IaC (Infrastructure as Code) is an approach to simplify the control of the Infrastructure via code instead of static config and deploying every piece by different tools. Terraform module for EKS: (registry.terraform.io) AWS IA: github.com/aws-ia/terraform-aws-eks-blueprints-addons
  • 9. EKS
  • 10. Barebone EKS terraform example github.com/guxkung/eks-terraform It is my personal github, I will try to get more educational sandbox example to update with (soon)
  • 12. EKS Add-ons To extend EKS capabilities and management, EKS introduced Add-ons as plugin: AWS-Managed: CloudWatch Observability, GuardDuty, SageMaker, etc. Marketplace add-ons: allow integration with EKS from 3rd party vendors
  • 13. EKS Cluster Access AWS introduces a new approach to access/update the EKS Cluster via Kubernetes API “EKS Cluster Access” Previously, the authentication can be done via specialized ConfigMap embedded into EKS cluster to create an allow-list Instead of embedding that in the ConfigMap, the meta-data itself can now be referenced via EKS API directly and allow the entry to be more specific. (and more AWS IAM statement alike)
  • 14. EKS Cluster Endpoint AWS recommends the Cluster to be only privately accessible for security reason. (then Networking Security for Private Networking applies, i.e., Security Group, NACL) The second best would be allowing only IP from CIDR to access from public endpoint. (the DNS entry can be resolved from public internet but accessing from other addresses will be blocked) This settings can be modified anytime, but be aware of losing connections from application side/tools
  • 15. IRSA (IAM Role to Service Account) IAM Role: S3BusinessBucketAccess (allows S3 access to business bucket) Service Account: business:billing-sa (billing application in business namespace can assume the role and perform S3 actions on the bucket)
  • 16. IRSA Step-by-step From our example, this would be the steps to setup IRSA 1. Create the IAM role (permission policy + trusted policy) 2. Create ServiceAccount and Associate with IAM role in EKS 3. Utilize the Service Account in the K8s applications/pods This approach is more efficient because the token can be stored at agent instead of directly connect to OIDC provider of the EKS cluster
  • 17. EKS Pod Identity Association To let Kubernetes applications connect with AWS services, it is now recommended to use Pod Identity associations (IAM role -> K8s Service Account) The steps are now: 1. Install EKS Pod Identity AddOn to the EKS cluster → pod-identity-agent 2. Create the IAM role 3. Create association with Console/EKS API for IAM Role to ServiceAccount 4. Utilize the Service Account in the K8s applications/pods The connection to OIDC provider of the EKS cluster is more efficient this way
  • 19. Custom Networking Customizing the VPC-CNI add-ons to support network capabilities such as: SNAT configuration (allows pods to reside in different subnet than nodes), the NAT can be done at node level or subnet level via route table Pod IP Pool (IPAM) secondary ENI will utilize the pre-allocated IP address range and assigned to the pods, IPAM guarantees that the IP address requested is available Max pods configuration on nodes after consolidating the settings, max pods number will be calculated and put on definition of nodegroup
  • 20. Custom CNI For advanced CNI, can be installed in chain-mode or migrate to stand-alone
  • 21. GitOps Alternatively, if you really start from zero with a centralized management cluster/account KubeFirst is also viable (Community edition will be restricted with publicly accessible only) Tools for GitOps you may consider: More projects can be found at https://landscape.cncf.io/
  • 22. Auto Mode & Karpenter Cost Optimization, operation excellence are the main concerns for this Karpenter/Auto mode Auto Mode leaves the optimization of the workload on the nodepool to be fully managed service (i.e., AWS will manage the network, nodes implicitly) with some additional cost To use all the custom plugin/deployments manually deploy Karpenter is recommended
  • 23. Summary - We learned about foundation of Kubernetes and EKS (Control Plane + Data Plane (Worker Node) - Introduction to EKS and EKS Addons (coredns, kube-proxy, VPC-CNI, etc.) - A Demo of Terraform to construct EKS cluster (and auto-mode example to try-out) - Gitops concept and the Karpenter (nodepool and node scaling)
  • 24. Q&A