Slide 1

Slide 1 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Nathan Peck, Developer Advocate @nathankpeck Kubernetes on AWS Create, manage, and scale a Kubernetes cluster on AWS

Slide 2

Slide 2 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. an open-source system for packaging software into standardized units (called containers) for development, shipment and deployment

Slide 3

Slide 3 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Dependencies Binaries Code docker build

Slide 4

Slide 4 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. docker push Container Registry (Private or Public)

Slide 5

Slide 5 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Development docker run Container Registry (Private or Public) Production

Slide 6

Slide 6 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Foo App Bar App Multiple docker containers can share a single machine

Slide 7

Slide 7 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Launching and keeping track of many docker containers across many machines is hard!

Slide 8

Slide 8 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. an open-source system for automating deployment, scaling, and management of containerized applications across clusters of machines

Slide 9

Slide 9 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3 x Container A 2 x Container B Accepts your intent to run containers… …and applies it to the underlying infrastructure

Slide 10

Slide 10 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3 x Container A 2 x Container B Different infrastructure, same application

Slide 11

Slide 11 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Core concepts of Kubernetes Pod Workers run your pods as instructed by the masters Masters control and monitor cluster state Cluster Worker Nodes Masters

Slide 12

Slide 12 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. open source operations tool for setting up a production grade Kubernetes cluster to run containers kops

Slide 13

Slide 13 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kops Bootstraps the cluster by provisioning EC2 instances and installing Kubernetes and etcd Cluster Worker Nodes Masters Pod

Slide 14

Slide 14 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Important kops commands kops create cluster kops create cluster --target terraform kops create cluster --target cloudformation kops update cluster

Slide 15

Slide 15 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. command line tool for interacting with a Kubernetes cluster to launch applications and application resources in it kubectl

Slide 16

Slide 16 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl Kubernetes API Cluster Pod Worker Nodes Masters

Slide 17

Slide 17 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Important kubectl commands kubectl apply -f kubectl scale --replicas=3 kubectl get kubectl describe kubectl delete

Slide 18

Slide 18 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl apply –f service.yml Pod Template Service, for exposing pod’s port to the rest of the cluster Replication controller, for scaling number of pods

Slide 19

Slide 19 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl get pods kubectl get pods NAME READY STATUS RESTARTS AGE guestbook-hwjfx 1/1 Running 0 1d guestbook-mn2lz 1/1 Running 0 4d guestbook-tgz98 1/1 Running 0 4d redis-master-5n95w 1/1 Running 0 1d redis-slave-796mm 1/1 Running 0 4d redis-slave-tt4f6 1/1 Running 0 4d

Slide 20

Slide 20 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl describe service guestbook Public address of my service

Slide 21

Slide 21 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. cloud based IDE and development environment we will use for the workshop AWS Cloud9

Slide 22

Slide 22 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl Kubernetes API Cluster Pod Worker Nodes Masters Cloud9 IDE

Slide 23

Slide 23 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. There are a variety of different ways to run Kubernetes

Slide 24

Slide 24 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How much do you want to manage? Your container Worker Nodes Masters State Store

Slide 25

Slide 25 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Created by kops, but still your responsibility Your container Worker Nodes Masters State Store kops (available today)

Slide 26

Slide 26 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Managed control plane (in preview) Amazon EKS Your container Masters State Store You Worker Nodes

Slide 27

Slide 27 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fully managed (available in 2018) Amazon EKS Your container Masters State Store AWS Fargate You Worker Nodes

Slide 28

Slide 28 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. virtual-kubelet (available today) AWS Fargate Master Worker Worker virtual-kubelet https://aws.amazon.com/blogs/opensource/aws-fargate-virtual-kubelet/

Slide 29

Slide 29 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Provision a cluster using kops Deploy an application using kubectl Explore Kubernetes features for scaling and monitoring the application What we will do today

Slide 30

Slide 30 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. kubectl Kubernetes API Cluster Pod Worker Nodes Masters Cloud9 IDE kops

Slide 31

Slide 31 text

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. TIME TO GET STARTED! https://amzn.to/k8s-on-aws