SlideShare a Scribd company logo
1 of 49
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Peter Dalbhanjan
Sr. Specialist Solutions Architect
Aug 2nd, 2018
Running Kubernetes with Amazon EKS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Kubernetes cluster setup
CI/CD with applications deployed on Kubernetes
Networking
Visibility
Security – Authentication and Authorization
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Open source container
management platform
Helps you run
containers at scale
Gives you primitives
for building
modern applications
What is Kubernetes?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
57% of Kubernetes workloads
run on AWS today
— Cloud Native Computing Foundation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes cluster
setup — choices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes cluster setup—choices
Install, operate, upgrade, delete a Kubernetes cluster
Development—Minikube
Enterprise
• Elastic Container Service for Kubernetes (EKS)
• CoreOS Tectonic
• Red Hat OpenShift
Community—Kops
• List: kubernetes-aws.io
AWS partners: Heptio, Docker
Custom
• CloudFormation
• Terraform
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Manage a Kubernetes cluster: Kops
Community supported
• SIG AWS
• Kops office hours and Slack channel
github.com/kubernetes/kops
Generate CloudFormation or Terraform scripts
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
O p erat i on al
E xc el l en c e
Sec u r i t y
Rel i a b i l i t yPer fo r m a nc e
Effi c i en c y
C o st
O pt i m i zat i on
M a sters
etc d
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Elastic Container Service for Kubernetes
Managed K8s control plane — highly available master and etcd
Bring your own worker nodes, like ECS
Core tenets
• Platform for enterprises to run production-grade workloads
• Provides a native and upstream Kubernetes experience – Kubernetes certified
• Not forced to use additional AWS services, but offer seamless integration
• Actively contributes to the Kubernetes project
APIs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS architecture
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
AWS Managed
Customer
Managed
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
Kubectl
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS Customers
C r e a t e E K S c l u s t e r
P r o v i s i o n w o r k e r n o d e s
L a u n c h a d d - o n s
L a u n c h w o r k l o a d s
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS – Kubernetes masters
C r e a t e H A m a s t e r s
C e r t i f i c a t e
m a n a g e m e n t
I A M i n t e g r a t i o n
S e t u p L BC r e a t e H A e t c d
A u t o s c a l e
C r e a t e c l u s t e r
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Networking
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Every pod should have it’s own IP address,
and all pods should be able to talk to one
and other”
Node Node
Pod Pod
Networking with Kubernetes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is CNI
Network
Plugin
Runtime
Network
• A way for Kubernetes to tell an underlying
SDN that it wants to connect a container to a
network.
• Standards based pluggable architecture for
container networking.
• API for writing plugins to configure network
interfaces for containers.
• CNCF Project
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC CNI plugin
• Bridge between the K8s land – AWS VPC
• AWS Routable IPs
• Thin layer – no performance impact
• Pod IP ENI secondary IP
• Github – https://github.com/aws/amazon-vpc-cni-k8s
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do I use it?
• Any K8s cluster on AWS.
• EKS
• BYOK8s
• Daemonset deployment.
kubectl create –f eks-cni.yaml
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC CNI networking internals
K u b e l e t
V P C C N I
p l u g i n
1 . C N I A d d / D e l e t e
E C 2
E N I E N I E N I
P o d P o d P o d P o d
V P C
N e t w o r k
.........
0 . C r e a t e E N I
2 . S e t u p v e t h
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC CNI plugin architecture
K u b e l e t
V P C C N I
p l u g i n
N e t w o r k l o c a l
c o n t r o l p l a n e
E N I s /
S e c o n d a r y I P s
C N I A d d / D e l e t e
g R P C
E C 2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packet flow : pod - to - pod
E C 2
Default namespace
Pod namespace
veth veth
Main RT
E C 2
Default namespace
Pod namespace
veth
Route
Table
Main RT
ENI RT
veth
VPC
fabric
ENI RT
Route
Table
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Packet flow : pod - to external
E C 2
Default namespace
Pod namespace
veth
Route Table
Main RT
ENI RT
veth
External
Network
IPTables
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
That looks good. But, what about isolation boundaries for my
workloads?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Consider network policies for segmentation and namespace for
isolation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: default-deny
spec:
podSelector:
matchLabels: {}
dev-namespace
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: default-deny
spec:
podSelector:
matchLabels: {}
dev-namespace
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
dev-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: public-to-frontend
spec:
podSelector:
matchLabels:
role: frontend
ingress:
- from:
- ipBlock:
cidr: "0.0.0.0/0"
ports:
- protocol: TCP
port: 80
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
dev-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: public-to-frontend
spec:
podSelector:
matchLabels:
role: frontend
ingress:
- from:
- ipBlock:
cidr: "0.0.0.0/0"
ports:
- protocol: TCP
port: 80
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
dev-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: frontend-to-cats
spec:
podSelector:
matchLabels:
role: cats
ingress:
- from:
- podSelector:
matchLabels:
role: “frontend”
ports:
- protocol: TCP
port: 80
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
dev-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: frontend-to-cats
spec:
podSelector:
matchLabels:
role: cats
ingress:
- from:
- podSelector:
matchLabels:
role: “frontend”
ports:
- protocol: TCP
port: 80
Kubernetes Network policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
kubectl create namespace prod-namespace
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
dev-namespace
Frontend
Cats Dogs
prod-namespace
Kubernetes Namespaces
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Frontend
Cats Dogs
prod-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: frontend-to-cats-and-dogs
namespace: prod-namespace
spec:
podSelector:
matchLabels:
role: cats-and-dogs
ingress:
- from:
- podSelector:
matchLabels:
role: “frontend”
ports:
- protocol: TCP
port: 80
Kubernetes Namespaces
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Security – Authentication and
Authorization
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes + AWS IAM
• AWS native access management
• In collaboration with Heptio
• Kubectl and worker nodes
• Works with Kubernetes RBAC
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
K8s action allowed/denied
Kubernetes + AWS IAM
Authorizes AWS Identity with RBAC
K8s API
Passes AWS Identity
Verifies AWS Identity
AWS Auth
1
2
3
4
Kubectl
Github – htt ps : / / github.com/heptiolabs/kubernetes-aws-authenticator
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Worker provisioning
k u b e c t l
AW S A u t h
c o n f i g m a p & R B A C
W o r k e r s
R o l e
R o l e
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
RBAC : namespace
Users
Service
Account
pod-reader
RoleBinding
pod-reader
Role
get
list
pod
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
RBAC : cluster-wide
Users
Service
Account
cluster-reader
ClusterRoleBin
ding
cluster-reader
ClusterRole
get
list
Cluster
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Visibility in cluster
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Visibility throughout your Kubernetes cluster
TracingAlertsEventsMetricsLogs
ApplicationContainerNodeCluster
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
WorkerWorkerMaster
WorkerWorkerMaster
ASG
AZ1
Region
AZ2
ASG
CloudWatch
Logs
Elasticsearch
Kibana
Fluentd
DaemonSet
Kubectl logs
Elasticsearch (index),
Fluentd (store), and
Kibana (visualize)
Logs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Metrics
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CICD for applications deployed
on Kubernetes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CI/CD of apps on Kubernetes—choices
Jenkins
AWS partners
• GitLab
• Shippable
• CircleCI
• Codeship
AWS CodePipeline, AWS CodeCommit, AWS CodeBuild
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Jenkins
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes continuous deployment
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS Lambda
Amazon ECR
1 2 4
3 5
6
1
Developers continuously integrate
changes into a main branch hosted
within a repo
2
Triggers an execution of the pipeline
when a new version is found, builds
a new image with build id
3
Pushes the newly built image
tagged with build id to ECR repo
4
Invokes a Lambda function to
trigger application deployment
5
Leverages Kubernetes Python SDK
to update a deployment
6
Fetches new container image
and performs a rolling update
of deployment
Developer
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s Next?
Learn more: https://aws.amazon.com/eks
https://github.com/aws-samples/aws-workshop-for-kubernetes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
dalbhanj@amazon.com
T: @pdalbhan

More Related Content

What's hot

Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Arun Gupta
 
Introduction to EKS (AWS User Group Slovakia)
Introduction to EKS (AWS User Group Slovakia)Introduction to EKS (AWS User Group Slovakia)
Introduction to EKS (AWS User Group Slovakia)Vladimir Simek
 
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...Amazon Web Services
 
Getting Started on Amazon EKS
Getting Started on Amazon EKSGetting Started on Amazon EKS
Getting Started on Amazon EKSMatthew Barlocker
 
AWS EKS: Amazon Manages Kubernetes
AWS EKS: Amazon Manages KubernetesAWS EKS: Amazon Manages Kubernetes
AWS EKS: Amazon Manages KubernetesPhilipp Koch
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSAmazon Web Services
 
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018Amazon Web Services
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSAmazon Web Services
 
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Amazon Web Services
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)sriram_rajan
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon Web Services
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One DayAmazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting StartedTanya Seno
 
Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018AWS Germany
 

What's hot (20)

Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Introduction to EKS (AWS User Group Slovakia)
Introduction to EKS (AWS User Group Slovakia)Introduction to EKS (AWS User Group Slovakia)
Introduction to EKS (AWS User Group Slovakia)
 
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...
Deep Dive on Container Networking at Scale on Amazon EKS, Amazon ECS, & Amazo...
 
Containers - Amazon EKS
Containers - Amazon EKSContainers - Amazon EKS
Containers - Amazon EKS
 
Getting Started on Amazon EKS
Getting Started on Amazon EKSGetting Started on Amazon EKS
Getting Started on Amazon EKS
 
AWS EKS: Amazon Manages Kubernetes
AWS EKS: Amazon Manages KubernetesAWS EKS: Amazon Manages Kubernetes
AWS EKS: Amazon Manages Kubernetes
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
Using Containers on AWS
Using Containers on AWSUsing Containers on AWS
Using Containers on AWS
 
Running Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdfRunning Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdf
 
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018
Kubernetes Networking in Amazon EKS (CON412) - AWS re:Invent 2018
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
AWS Container services
AWS Container servicesAWS Container services
AWS Container services
 
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
 
Run Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKSRun Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKS
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One Day
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting Started
 
Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018
 

Similar to Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit

Running Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksRunning Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksAmazon Web Services
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Amazon Web Services
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSAmazon Web Services
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSAmazon Web Services
 
AWS Compute Evolved Week: Running Kubernetes on AWS
AWS Compute Evolved Week: Running Kubernetes on AWSAWS Compute Evolved Week: Running Kubernetes on AWS
AWS Compute Evolved Week: Running Kubernetes on AWSAmazon Web Services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSAmazon Web Services
 
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Amazon Web Services
 
Executando Kubernetes com Amazon EKS - DEV303 - Sao Paulo Summit
Executando Kubernetes com Amazon EKS -  DEV303 - Sao Paulo SummitExecutando Kubernetes com Amazon EKS -  DEV303 - Sao Paulo Summit
Executando Kubernetes com Amazon EKS - DEV303 - Sao Paulo SummitAmazon Web Services
 
Aws container services overview
Aws container services overviewAws container services overview
Aws container services overviewPatricio Vazquez
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Amazon Web Services
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計Amazon Web Services
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Amazon Elastic Container Service for Kubernetes (Amazon EKS)Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Amazon Elastic Container Service for Kubernetes (Amazon EKS)Amazon Web Services
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Amazon Web Services
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWSAmazon Web Services Korea
 
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...Amazon Web Services Korea
 

Similar to Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit (20)

Running Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksRunning Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech Talks
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWS
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWS
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 
AWS Compute Evolved Week: Running Kubernetes on AWS
AWS Compute Evolved Week: Running Kubernetes on AWSAWS Compute Evolved Week: Running Kubernetes on AWS
AWS Compute Evolved Week: Running Kubernetes on AWS
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKS
 
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
 
Executando Kubernetes com Amazon EKS - DEV303 - Sao Paulo Summit
Executando Kubernetes com Amazon EKS -  DEV303 - Sao Paulo SummitExecutando Kubernetes com Amazon EKS -  DEV303 - Sao Paulo Summit
Executando Kubernetes com Amazon EKS - DEV303 - Sao Paulo Summit
 
Aws container services overview
Aws container services overviewAws container services overview
Aws container services overview
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
 
Running Kubernetes on AWS
Running Kubernetes on AWSRunning Kubernetes on AWS
Running Kubernetes on AWS
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Amazon Elastic Container Service for Kubernetes (Amazon EKS)Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Amazon Elastic Container Service for Kubernetes (Amazon EKS)
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
Builders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWSBuilders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWS
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS
 
Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Peter Dalbhanjan Sr. Specialist Solutions Architect Aug 2nd, 2018 Running Kubernetes with Amazon EKS
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda Kubernetes cluster setup CI/CD with applications deployed on Kubernetes Networking Visibility Security – Authentication and Authorization
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Open source container management platform Helps you run containers at scale Gives you primitives for building modern applications What is Kubernetes?
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 57% of Kubernetes workloads run on AWS today — Cloud Native Computing Foundation
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes cluster setup — choices
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes cluster setup—choices Install, operate, upgrade, delete a Kubernetes cluster Development—Minikube Enterprise • Elastic Container Service for Kubernetes (EKS) • CoreOS Tectonic • Red Hat OpenShift Community—Kops • List: kubernetes-aws.io AWS partners: Heptio, Docker Custom • CloudFormation • Terraform
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Manage a Kubernetes cluster: Kops Community supported • SIG AWS • Kops office hours and Slack channel github.com/kubernetes/kops Generate CloudFormation or Terraform scripts
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. O p erat i on al E xc el l en c e Sec u r i t y Rel i a b i l i t yPer fo r m a nc e Effi c i en c y C o st O pt i m i zat i on M a sters etc d
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Elastic Container Service for Kubernetes Managed K8s control plane — highly available master and etcd Bring your own worker nodes, like ECS Core tenets • Platform for enterprises to run production-grade workloads • Provides a native and upstream Kubernetes experience – Kubernetes certified • Not forced to use additional AWS services, but offer seamless integration • Actively contributes to the Kubernetes project APIs
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. EKS architecture Availability Zone 1 Availability Zone 2 Availability Zone 3 AWS Managed Customer Managed
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Availability Zone 2 Availability Zone 3 Kubectl
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. EKS Customers C r e a t e E K S c l u s t e r P r o v i s i o n w o r k e r n o d e s L a u n c h a d d - o n s L a u n c h w o r k l o a d s
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. EKS – Kubernetes masters C r e a t e H A m a s t e r s C e r t i f i c a t e m a n a g e m e n t I A M i n t e g r a t i o n S e t u p L BC r e a t e H A e t c d A u t o s c a l e C r e a t e c l u s t e r
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Networking
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Every pod should have it’s own IP address, and all pods should be able to talk to one and other” Node Node Pod Pod Networking with Kubernetes
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is CNI Network Plugin Runtime Network • A way for Kubernetes to tell an underlying SDN that it wants to connect a container to a network. • Standards based pluggable architecture for container networking. • API for writing plugins to configure network interfaces for containers. • CNCF Project
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. VPC CNI plugin • Bridge between the K8s land – AWS VPC • AWS Routable IPs • Thin layer – no performance impact • Pod IP ENI secondary IP • Github – https://github.com/aws/amazon-vpc-cni-k8s
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How do I use it? • Any K8s cluster on AWS. • EKS • BYOK8s • Daemonset deployment. kubectl create –f eks-cni.yaml
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. VPC CNI networking internals K u b e l e t V P C C N I p l u g i n 1 . C N I A d d / D e l e t e E C 2 E N I E N I E N I P o d P o d P o d P o d V P C N e t w o r k ......... 0 . C r e a t e E N I 2 . S e t u p v e t h
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. VPC CNI plugin architecture K u b e l e t V P C C N I p l u g i n N e t w o r k l o c a l c o n t r o l p l a n e E N I s / S e c o n d a r y I P s C N I A d d / D e l e t e g R P C E C 2
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packet flow : pod - to - pod E C 2 Default namespace Pod namespace veth veth Main RT E C 2 Default namespace Pod namespace veth Route Table Main RT ENI RT veth VPC fabric ENI RT Route Table
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Packet flow : pod - to external E C 2 Default namespace Pod namespace veth Route Table Main RT ENI RT veth External Network IPTables
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. That looks good. But, what about isolation boundaries for my workloads?
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Consider network policies for segmentation and namespace for isolation
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: default-deny spec: podSelector: matchLabels: {} dev-namespace Kubernetes Network policies
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: default-deny spec: podSelector: matchLabels: {} dev-namespace Kubernetes Network policies
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs dev-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: public-to-frontend spec: podSelector: matchLabels: role: frontend ingress: - from: - ipBlock: cidr: "0.0.0.0/0" ports: - protocol: TCP port: 80 Kubernetes Network policies
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs dev-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: public-to-frontend spec: podSelector: matchLabels: role: frontend ingress: - from: - ipBlock: cidr: "0.0.0.0/0" ports: - protocol: TCP port: 80 Kubernetes Network policies
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs dev-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: frontend-to-cats spec: podSelector: matchLabels: role: cats ingress: - from: - podSelector: matchLabels: role: “frontend” ports: - protocol: TCP port: 80 Kubernetes Network policies
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs dev-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: frontend-to-cats spec: podSelector: matchLabels: role: cats ingress: - from: - podSelector: matchLabels: role: “frontend” ports: - protocol: TCP port: 80 Kubernetes Network policies
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. kubectl create namespace prod-namespace
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs dev-namespace Frontend Cats Dogs prod-namespace Kubernetes Namespaces
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Frontend Cats Dogs prod-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: frontend-to-cats-and-dogs namespace: prod-namespace spec: podSelector: matchLabels: role: cats-and-dogs ingress: - from: - podSelector: matchLabels: role: “frontend” ports: - protocol: TCP port: 80 Kubernetes Namespaces
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Security – Authentication and Authorization
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes + AWS IAM • AWS native access management • In collaboration with Heptio • Kubectl and worker nodes • Works with Kubernetes RBAC
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. K8s action allowed/denied Kubernetes + AWS IAM Authorizes AWS Identity with RBAC K8s API Passes AWS Identity Verifies AWS Identity AWS Auth 1 2 3 4 Kubectl Github – htt ps : / / github.com/heptiolabs/kubernetes-aws-authenticator
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Worker provisioning k u b e c t l AW S A u t h c o n f i g m a p & R B A C W o r k e r s R o l e R o l e
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. RBAC : namespace Users Service Account pod-reader RoleBinding pod-reader Role get list pod
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. RBAC : cluster-wide Users Service Account cluster-reader ClusterRoleBin ding cluster-reader ClusterRole get list Cluster
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Visibility in cluster
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Visibility throughout your Kubernetes cluster TracingAlertsEventsMetricsLogs ApplicationContainerNodeCluster
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. WorkerWorkerMaster WorkerWorkerMaster ASG AZ1 Region AZ2 ASG CloudWatch Logs Elasticsearch Kibana Fluentd DaemonSet Kubectl logs Elasticsearch (index), Fluentd (store), and Kibana (visualize) Logs
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Metrics
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CICD for applications deployed on Kubernetes
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CI/CD of apps on Kubernetes—choices Jenkins AWS partners • GitLab • Shippable • CircleCI • Codeship AWS CodePipeline, AWS CodeCommit, AWS CodeBuild
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Jenkins
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes continuous deployment AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS Lambda Amazon ECR 1 2 4 3 5 6 1 Developers continuously integrate changes into a main branch hosted within a repo 2 Triggers an execution of the pipeline when a new version is found, builds a new image with build id 3 Pushes the newly built image tagged with build id to ECR repo 4 Invokes a Lambda function to trigger application deployment 5 Leverages Kubernetes Python SDK to update a deployment 6 Fetches new container image and performs a rolling update of deployment Developer
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s Next? Learn more: https://aws.amazon.com/eks https://github.com/aws-samples/aws-workshop-for-kubernetes
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you! dalbhanj@amazon.com T: @pdalbhan