SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Mitch Beaumont
Solutions Architect, Amazon Web Services
Expert tips for successful Kubernetes
deployments on AWS
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
We Give You The Power To Choose:
ECS EK
S
EC2 Fargate EC2 Fargate
1. Choose your orchestration
tool
2. Choose your launch type
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kubernetes 101
• Started at Google
• Influenced by Google Borg
• Container orchestrator
• Contributed to the CNCF
Cloud Native Computing Foundation
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Operations as Code
Annotated Documentation
Frequent, small, reversible changes
Refine operation procedures frequently
Anticipate failure
Learn from operational failures
What does operational
excellence look like on AWS?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
$ kubectl get tips –n aws-summit
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-summit/tips/{1}
Never build a Kubernetes Cluster the hard way!
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Options for Kubernetes cluster setup
Community
• Kops – kubernetes-aws.io
• Kubeadm – toolkit for bootstrapping a cluster
• eksctl – simple cli for creating cluster on EKS
Enterprise
• Elastic Container Service for Kubernetes (EKS)
• Red Hat OpenShift
Other options
• CloudFormation, Terraform (EKS Module), Ansible and Puppet
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kops – Kubernetes Operations
Community supported
• SIG AWS
• Kops office hours and Slack channel
Generate CloudFormation or Terraform scripts
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
kops create cluster 
--name cluster1.kubernetes-aws.io 
--zones ap-southeast-2a, ap-southeast-2b, ap-southeast-2c 
--master-count 3
--master-size m4.large
--node-count 5 
--state s3://kubernetes-aws-io 
--yes
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Operational
Excellence
Security
ReliabilityPerformance
Efficiency
Cost
Optimisation
Master
s
etcd
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Elastic Container Service for Kubernetes
mycluster.eks.amazonaws.com
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
Kubectl
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Elastic Container Service for Kubernetes
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
etcd
Master
etcd
Master
etcd
Master
AWS Managed
Customer Managed
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
aws eks create-cluster --cluster-name summit-cluster 
--role-arn arn:aws:iam::1123581321:role/eks-vpc-
EksServiceRole-21345589144 
--vpc-id vpc-21345589144 
--region us-west-2
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Deploying Clusters
What are some of the community tools you
can use for deploying Kubernetes clusters
on AWS?
Kops, kubeadm and eksctl, kubicorn help
remove some of the effort.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Deploying Clusters
What does Kops do?
Provisions infrastructure, as well as the
Kubernetes cluster components.
It can also generate CloudFormation
templates and Terraform Manifests which
can be used as a baseline for a cluster.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Deploying Clusters
Amazon EKS provides a fully managed
____?
“Control Plane”. This includes highly
available Kubernetes master and etcd
nodes.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-summit /tips/{2}
Consider your networking options
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
“Every pod should have its 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.
Popular Solutions For Kubernetes
Networking
StarsonGithub
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
ENI
VPC Subnet – 172.16.18.0/24
Bridge
Pod CIDR
10.244.10.0/24
Destination Via
10.244.10.0/24 172.16.18.101
10.244.11.0/24 172.16.18.102
… …
Node IP
172.16.18.101
AWS Route Table
Networking With Kubenet
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Overlay Networks
• Can't get enough IP space? (subnets
not sized correctly)
• Your existing network cannot handle
the number of routes required (VPC
route tables have a limit of 50 routes).
• You want to tap in to additional
capabilities that a specific overlay
network provides – network policies
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Networking With Flannel
src: node
dst: node
VPC Subnet – 10.0.0.0/24
Instance 2
Bridge Bridge
Flannel0
src: pod
dst: pod
Flannel0
Flannel Pod CIDR
10.244.0.0/16
Flannel Pod CIDR
10.244.0.0/16
Instance 1
ENIENI
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Do I Need An Overlay Network?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Networking With Amazon VPC CNI
Nginx Pod
Java Pod
ENI
Secondary IPs:
10.0.0.1
10.0.0.2
Veth IP: 10.0.0.1
Veth IP: 10.0.0.2
Nginx Pod
Java Pod
ENI
Veth IP: 10.0.0.20
Veth IP: 10.0.0.22
Secondary IPs:
10.0.0.20
10.0.0.22
ec2.associateaddress()
VPC Subnet – 10.0.0.0/24
Instance 1 Instance 2
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
https://github.com/aws/amazon-vpc-cni-k8s/
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz - Networking
What do all pods in a Kubernetes cluster
need?
All pods need a real IP and must be able to
communicate with each other.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz - Networking
When you deploy a Kubernetes cluster
using Kops, what is the default network
provider?
Kops defaults to the Kubenet network
provider.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz - Networking
Why might I choose one CNI network
plugins over another?
Some CNI network plugins require a backing
data store, others need an overlay network
and other offer additional functionality.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-summit/tips/{3}
Ensure Role Based Access Control (RBAC)
is enabled on your cluster
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
IAM Authentication + Kubectl
K8s action allowed/denied
Authorises AWS Identity with RBAC
K8s API
Passes AWS Identity
Verifies AWS Identity
AWS Auth
1
2
3
4
Kubectl
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Binding IAM Roles to Kubernetes RBAC
---
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::000000000000:role/KubernetesAdmin
username: admin-mitch:{{SessionName}}
groups:
- mitch:editors
mapUsers: |
- userarn: arn:aws:iam::000000000000:user/mitch
username: mitch
• Create an IAM role.
• Attach IAM Role to
IAM Group.
• Apply the aws-auth
config map.
• Create a cluster role
binding to the k8s role
for those users who
assume the IAM role.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
RBAC - Namespace
get
list
Pod
summit-view
RoleBinding
summit-view
RoleUser
view
ClusterRole
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
RBAC – Cluster-Wide
get
list
Cluster
summit-view
ClusterRoleBinding
summit-view
ClusterRoleUser
view
ClusterRole
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – RBAC
Why should you enable RBAC on your
Kubernetes cluster?
Implementing fine-grained control over how
users access resources is an important
property of any well architected system.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – RBAC
What is one of the best ways to authenticate
requests to a Kubernetes cluster deployed
on AWS?
Using the AWS IAM Authenticator. A tool that
lets you use IAM credentials to authenticate
to a Kubernetes cluster.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – RBAC
Can you use an IAM group to control access
to resources within a Kubernetes cluster?
Yes. By binding an IAM role to a Kubernetes
role using the aws-auth config map you can
control the specific actions IAM users are
able to perform within your cluster.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-summit/tips/{4}
Observe all the things!
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Observability in Your Kubernetes Cluster
TracingAlertsEventsMetricsLogs
ApplicationContainerNodeCluster
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Building A Log Aggregator
An open source data collector providing a unified logging layer,
supported by 500+ plugins connecting to many types of systems.
A distributed, RESTful search and analytics engine.
(Amazon Elasticsearch)
Lets you visualise your Elasticsearch data.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
WorkerWorkerMaster
WorkerWorkerMaster
ASG
AZ1
Region
AZ2
ASG
Amazon
CloudWatch
Logs
Amazon
Elasticsearch
Service
Kibana
Fluentd
DaemonSet
Kubectl logs
Elasticsearch (index),
Fluentd (store), and
Kibana (visualise)
Logs
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Observability in Your Kubernetes Cluster
TracingAlertsEventsMetricsLogs
ApplicationContainerNodeCluster
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Tracing with AWS X-Ray
https://aws.amazon.com/de/blogs/compute/application-tracing-on-kubernetes-with-aws-x-ray/
• Configure IAM to allow
pods running on
nodes to send traces
to X-Ray.
• Deploy the AWS X-Ray
Demon.
• Integrate AWS X-Ray
SDK in to your
application.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Observability
What are some of the key traits required by
tool used to monitor Kubernetes?
They should compliment the dynamic nature
of containerised environments.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Observability
Why is it important that we capture
application and cluster log data?
This data is invaluable in helping us learn
from operational failures and evolve our
application architectures.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Observability
What are some of the tools we can use to
capture, store and analyse log information in
a Kubernetes cluster?
Open source tools like Elasticsearch,
FluentD and Kibana, as well as great
solutions from partners.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-summit/tips/{5}
Build, Ship, Run …
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Application Deployment to Kubernetes
Developer
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS Lambda
Amazon ECR Kubernetes
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Application Deployment to Kubernetes
Developer
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS Lambda
Amazon ECR Kubernetes
• Code is committed to AWS CodeCommit.
• PR created for review of changes.
• Changes merged to master branch.
• AWS CodePipeline detects changes and
starts moving changes through the
pipeline.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Application Deployment to Kubernetes
Developer
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS Lambda
Amazon ECR Kubernetes
• AWS CodeBuild packages code
changes and dependencies and
builds a Docker image.
• Other pipeline stages can be
included to test code and the
package, also using AWS
CodeBuild.
• The Docker Image is pushed to
Amazon ECR.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Application Deployment to Kubernetes
Developer
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS Lambda
Amazon ECR Kubernetes
• AWS CodePipeline invokes an
AWS Lambda function which
updates the Kubernetes
deployment file with the image
tag.
• AWS Lambda invokes Kubernetes
API (Python SDK) to update
application deployment.
• A rolling update is performed of
the pods to match the Docker
image that was created.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Application Deployment
Why is it important that we deploy
frequently, and deploy small, reversible
changes?
Changes can be easily reversed and if they
do fail, it aids in the identification and
resolution of issues.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Application Deployment
What are some of the built-in capabilities of
Kubernetes that can help improve the
reliability of application deployments?
The Kubernetes deployment resource type
supports roll-out histories and liveness and
readiness probes.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Pop Quiz – Application Deployment
What are some of the tools that can help me
deploy software in to my Kubernetes
cluster?
In addition to the AWS Code suite of
services, many great open source tools exist
including Helm, Jenkins, GitKube and
Skaffold.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
https://github.com/aws-samples/aws-microservices-deploy-options
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
GET api/v1/namespaces/aws-
summit/tips/{summary}
• Understand what your networking
requirements are.
• There are lots of options available
for deploying clusters.
• It’s hard to know where you’re going
without knowing where you’ve come
from, logging and monitoring are critical.
• Strive for Operational Excellence.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Some Stuff For You …
Kubernetes on AWS Workshop
https://github.com/aws-samples/kubernetes-aws-workshop
Networking with Amazon EKS
https://aws.amazon.com/blogs/opensource/networking-foundation-eks-
aws-cni-calico/
Thank you!
beaumonm@amazon.com
@mitchybgood

More Related Content

What's hot

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
Amazon Web Services
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
Amazon Web Services
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
AWS Germany
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKS
Amazon Web Services
 
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...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...
Codemotion
 
Run Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKSRun Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKS
Amazon 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 2018
Amazon 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 Keynote
Arun Gupta
 
Running Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdfRunning Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdf
Amazon Web Services
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Amazon Web Services
 
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
Amazon Web Services
 
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
Amazon Web Services
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
Arun Gupta
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
Amazon Web Services
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
Arun Gupta
 
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
Amazon Web Services
 
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
Amazon Web Services Korea
 
Containers - Amazon EKS
Containers - Amazon EKSContainers - Amazon EKS
Containers - Amazon EKS
Amazon Web Services
 
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Amazon Web Services
 
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
AWS Germany
 

What's hot (20)

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
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKS
 
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...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...
 
Run Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKSRun Kubernetes with Amazon EKS
Run Kubernetes with Amazon EKS
 
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
 
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
 
Running Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdfRunning Kubernetes on AWS.pdf
Running Kubernetes on AWS.pdf
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
 
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
Use SD-WAN to Manage Your AWS Environment and Branch Office Connectivity (NET...
 
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
Another Day in the Life of a Cloud Network Engineer at Netflix (NET312) - AWS...
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
 
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
Securing Your Virtual Data Center in the Cloud (NET202) - AWS re:Invent 2018
 
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
[AWS Container Service] Getting Started with Cloud Map, App Mesh and Firecracker
 
Containers - Amazon EKS
Containers - Amazon EKSContainers - Amazon EKS
Containers - Amazon EKS
 
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
 
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
 

Similar to Expert Tips for Successful Kubernetes Deployments 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
Amazon 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 2018
Amazon Web Services
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
AWS Germany
 
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
Amazon Web Services
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計
Amazon Web Services
 
Aws container services overview
Aws container services overviewAws container services overview
Aws container services overview
Patricio Vazquez
 
Builders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWSBuilders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWS
Amazon Web Services LATAM
 
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
Amazon Web Services
 
CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2
aspyker
 
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
Amazon Web Services
 
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
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
 
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
Amazon Web Services
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
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 2018
Amazon Web Services
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
Amazon Web Services
 
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Amazon Web Services
 
게임 고객사를 위한 ‘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
 
[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
Amazon Web Services Korea
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Amazon Web Services
 

Similar to Expert Tips for Successful Kubernetes Deployments on AWS (20)

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
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 
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
 
使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計使用 Amazon EKS 打造高效的服務架構設計
使用 Amazon EKS 打造高效的服務架構設計
 
Aws container services overview
Aws container services overviewAws container services overview
Aws container services overview
 
Builders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWSBuilders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWS
 
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
 
CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2CMP376 - Another Week, Another Million Containers on Amazon EC2
CMP376 - Another Week, Another Million Containers on Amazon EC2
 
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
 
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
Another Week, Another Million Containers on Amazon EC2 (CMP376) - AWS re:Inve...
 
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)
 
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
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
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
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
 
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 -  유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
 
[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
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
 

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 Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon 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 Service
Amazon 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
 

Expert Tips for Successful Kubernetes Deployments on AWS

  • 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Mitch Beaumont Solutions Architect, Amazon Web Services Expert tips for successful Kubernetes deployments on AWS
  • 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. We Give You The Power To Choose: ECS EK S EC2 Fargate EC2 Fargate 1. Choose your orchestration tool 2. Choose your launch type
  • 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kubernetes 101 • Started at Google • Influenced by Google Borg • Container orchestrator • Contributed to the CNCF Cloud Native Computing Foundation
  • 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Operations as Code Annotated Documentation Frequent, small, reversible changes Refine operation procedures frequently Anticipate failure Learn from operational failures What does operational excellence look like on AWS?
  • 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. $ kubectl get tips –n aws-summit
  • 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws-summit/tips/{1} Never build a Kubernetes Cluster the hard way!
  • 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Options for Kubernetes cluster setup Community • Kops – kubernetes-aws.io • Kubeadm – toolkit for bootstrapping a cluster • eksctl – simple cli for creating cluster on EKS Enterprise • Elastic Container Service for Kubernetes (EKS) • Red Hat OpenShift Other options • CloudFormation, Terraform (EKS Module), Ansible and Puppet
  • 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kops – Kubernetes Operations Community supported • SIG AWS • Kops office hours and Slack channel Generate CloudFormation or Terraform scripts
  • 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. kops create cluster --name cluster1.kubernetes-aws.io --zones ap-southeast-2a, ap-southeast-2b, ap-southeast-2c --master-count 3 --master-size m4.large --node-count 5 --state s3://kubernetes-aws-io --yes
  • 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Operational Excellence Security ReliabilityPerformance Efficiency Cost Optimisation Master s etcd
  • 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  • 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Elastic Container Service for Kubernetes mycluster.eks.amazonaws.com Availability Zone 1 Availability Zone 2 Availability Zone 3 Kubectl
  • 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Elastic Container Service for Kubernetes Availability Zone 1 Availability Zone 2 Availability Zone 3 etcd Master etcd Master etcd Master AWS Managed Customer Managed
  • 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. aws eks create-cluster --cluster-name summit-cluster --role-arn arn:aws:iam::1123581321:role/eks-vpc- EksServiceRole-21345589144 --vpc-id vpc-21345589144 --region us-west-2
  • 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Deploying Clusters What are some of the community tools you can use for deploying Kubernetes clusters on AWS? Kops, kubeadm and eksctl, kubicorn help remove some of the effort.
  • 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Deploying Clusters What does Kops do? Provisions infrastructure, as well as the Kubernetes cluster components. It can also generate CloudFormation templates and Terraform Manifests which can be used as a baseline for a cluster.
  • 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Deploying Clusters Amazon EKS provides a fully managed ____? “Control Plane”. This includes highly available Kubernetes master and etcd nodes.
  • 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws-summit /tips/{2} Consider your networking options
  • 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. “Every pod should have its own IP address, and all pods should be able to talk to one and other” Node Node Pod Pod Networking With Kubernetes
  • 20. © 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
  • 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Popular Solutions For Kubernetes Networking StarsonGithub
  • 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. ENI VPC Subnet – 172.16.18.0/24 Bridge Pod CIDR 10.244.10.0/24 Destination Via 10.244.10.0/24 172.16.18.101 10.244.11.0/24 172.16.18.102 … … Node IP 172.16.18.101 AWS Route Table Networking With Kubenet
  • 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Overlay Networks • Can't get enough IP space? (subnets not sized correctly) • Your existing network cannot handle the number of routes required (VPC route tables have a limit of 50 routes). • You want to tap in to additional capabilities that a specific overlay network provides – network policies
  • 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Networking With Flannel src: node dst: node VPC Subnet – 10.0.0.0/24 Instance 2 Bridge Bridge Flannel0 src: pod dst: pod Flannel0 Flannel Pod CIDR 10.244.0.0/16 Flannel Pod CIDR 10.244.0.0/16 Instance 1 ENIENI
  • 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Do I Need An Overlay Network?
  • 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Networking With Amazon VPC CNI Nginx Pod Java Pod ENI Secondary IPs: 10.0.0.1 10.0.0.2 Veth IP: 10.0.0.1 Veth IP: 10.0.0.2 Nginx Pod Java Pod ENI Veth IP: 10.0.0.20 Veth IP: 10.0.0.22 Secondary IPs: 10.0.0.20 10.0.0.22 ec2.associateaddress() VPC Subnet – 10.0.0.0/24 Instance 1 Instance 2
  • 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. https://github.com/aws/amazon-vpc-cni-k8s/
  • 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz - Networking What do all pods in a Kubernetes cluster need? All pods need a real IP and must be able to communicate with each other.
  • 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz - Networking When you deploy a Kubernetes cluster using Kops, what is the default network provider? Kops defaults to the Kubenet network provider.
  • 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz - Networking Why might I choose one CNI network plugins over another? Some CNI network plugins require a backing data store, others need an overlay network and other offer additional functionality.
  • 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws-summit/tips/{3} Ensure Role Based Access Control (RBAC) is enabled on your cluster
  • 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. IAM Authentication + Kubectl K8s action allowed/denied Authorises AWS Identity with RBAC K8s API Passes AWS Identity Verifies AWS Identity AWS Auth 1 2 3 4 Kubectl
  • 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Binding IAM Roles to Kubernetes RBAC --- apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: arn:aws:iam::000000000000:role/KubernetesAdmin username: admin-mitch:{{SessionName}} groups: - mitch:editors mapUsers: | - userarn: arn:aws:iam::000000000000:user/mitch username: mitch • Create an IAM role. • Attach IAM Role to IAM Group. • Apply the aws-auth config map. • Create a cluster role binding to the k8s role for those users who assume the IAM role.
  • 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. RBAC - Namespace get list Pod summit-view RoleBinding summit-view RoleUser view ClusterRole
  • 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. RBAC – Cluster-Wide get list Cluster summit-view ClusterRoleBinding summit-view ClusterRoleUser view ClusterRole
  • 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – RBAC Why should you enable RBAC on your Kubernetes cluster? Implementing fine-grained control over how users access resources is an important property of any well architected system.
  • 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – RBAC What is one of the best ways to authenticate requests to a Kubernetes cluster deployed on AWS? Using the AWS IAM Authenticator. A tool that lets you use IAM credentials to authenticate to a Kubernetes cluster.
  • 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – RBAC Can you use an IAM group to control access to resources within a Kubernetes cluster? Yes. By binding an IAM role to a Kubernetes role using the aws-auth config map you can control the specific actions IAM users are able to perform within your cluster.
  • 39. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws-summit/tips/{4} Observe all the things!
  • 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Observability in Your Kubernetes Cluster TracingAlertsEventsMetricsLogs ApplicationContainerNodeCluster
  • 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Building A Log Aggregator An open source data collector providing a unified logging layer, supported by 500+ plugins connecting to many types of systems. A distributed, RESTful search and analytics engine. (Amazon Elasticsearch) Lets you visualise your Elasticsearch data.
  • 42. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. WorkerWorkerMaster WorkerWorkerMaster ASG AZ1 Region AZ2 ASG Amazon CloudWatch Logs Amazon Elasticsearch Service Kibana Fluentd DaemonSet Kubectl logs Elasticsearch (index), Fluentd (store), and Kibana (visualise) Logs
  • 43. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Observability in Your Kubernetes Cluster TracingAlertsEventsMetricsLogs ApplicationContainerNodeCluster
  • 44. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Tracing with AWS X-Ray https://aws.amazon.com/de/blogs/compute/application-tracing-on-kubernetes-with-aws-x-ray/ • Configure IAM to allow pods running on nodes to send traces to X-Ray. • Deploy the AWS X-Ray Demon. • Integrate AWS X-Ray SDK in to your application.
  • 45. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Observability What are some of the key traits required by tool used to monitor Kubernetes? They should compliment the dynamic nature of containerised environments.
  • 46. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Observability Why is it important that we capture application and cluster log data? This data is invaluable in helping us learn from operational failures and evolve our application architectures.
  • 47. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Observability What are some of the tools we can use to capture, store and analyse log information in a Kubernetes cluster? Open source tools like Elasticsearch, FluentD and Kibana, as well as great solutions from partners.
  • 48. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws-summit/tips/{5} Build, Ship, Run …
  • 49. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Application Deployment to Kubernetes Developer AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS Lambda Amazon ECR Kubernetes
  • 50. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Application Deployment to Kubernetes Developer AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS Lambda Amazon ECR Kubernetes • Code is committed to AWS CodeCommit. • PR created for review of changes. • Changes merged to master branch. • AWS CodePipeline detects changes and starts moving changes through the pipeline.
  • 51. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Application Deployment to Kubernetes Developer AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS Lambda Amazon ECR Kubernetes • AWS CodeBuild packages code changes and dependencies and builds a Docker image. • Other pipeline stages can be included to test code and the package, also using AWS CodeBuild. • The Docker Image is pushed to Amazon ECR.
  • 52. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Application Deployment to Kubernetes Developer AWS CodePipeline AWS CodeCommit AWS CodeBuild AWS Lambda Amazon ECR Kubernetes • AWS CodePipeline invokes an AWS Lambda function which updates the Kubernetes deployment file with the image tag. • AWS Lambda invokes Kubernetes API (Python SDK) to update application deployment. • A rolling update is performed of the pods to match the Docker image that was created.
  • 53. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Application Deployment Why is it important that we deploy frequently, and deploy small, reversible changes? Changes can be easily reversed and if they do fail, it aids in the identification and resolution of issues.
  • 54. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Application Deployment What are some of the built-in capabilities of Kubernetes that can help improve the reliability of application deployments? The Kubernetes deployment resource type supports roll-out histories and liveness and readiness probes.
  • 55. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Pop Quiz – Application Deployment What are some of the tools that can help me deploy software in to my Kubernetes cluster? In addition to the AWS Code suite of services, many great open source tools exist including Helm, Jenkins, GitKube and Skaffold.
  • 56. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. https://github.com/aws-samples/aws-microservices-deploy-options
  • 57. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. GET api/v1/namespaces/aws- summit/tips/{summary} • Understand what your networking requirements are. • There are lots of options available for deploying clusters. • It’s hard to know where you’re going without knowing where you’ve come from, logging and monitoring are critical. • Strive for Operational Excellence.
  • 58. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Some Stuff For You … Kubernetes on AWS Workshop https://github.com/aws-samples/kubernetes-aws-workshop Networking with Amazon EKS https://aws.amazon.com/blogs/opensource/networking-foundation-eks- aws-cni-calico/