Slide 1

Slide 1 text

Containers and orchestration 101 Docker, Kubernetes and Helm Jacob Tomlinson

Slide 2

Slide 2 text

hello! I am Jacob Tomlinson 2

Slide 3

Slide 3 text

Industry use of container technologies 3 Image courtesy of the mid-2018 CNCF Survey. https://www.cncf.io/blog/2018/0 8/29/cncf-survey-use-of-cloud- native-technologies-in-producti on-has-grown-over-200-percen t/

Slide 4

Slide 4 text

Containers and orchestration 101 Docker Kubernetes Helm 4 A tool for building containers A platform to run containers on A deployment toolkit for kubernetes

Slide 5

Slide 5 text

Docker “Docker creates simple tooling and a universal packaging approach that bundles up all application dependencies inside a container.”

Slide 6

Slide 6 text

Docker concepts We will cover ✘ Containers ✘ Images ✘ Registries 6 We won’t cover ✘ Services ✘ Swarms ✘ Stacks

Slide 7

Slide 7 text

Kubernetes “Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.”

Slide 8

Slide 8 text

Kubernetes concepts We will cover ✘ Namespaces ✘ Pods ✘ Deployments ✘ Services ✘ Persistent Volumes ✘ Ingresses ✘ Config Maps 8 We won’t cover ✘ Secrets ✘ Replica Sets ✘ Daemon Sets ✘ Stateful Sets ✘ Jobs ✘ Roles ✘ Role Based Authentication Control

Slide 9

Slide 9 text

Helm “Helm is the best way to find, share, and use software built for Kubernetes.”

Slide 10

Slide 10 text

Helm concepts We will cover ✘ Charts ✘ Templates ✘ Values ✘ Notes ✘ Requirements 10 We won’t cover ✘ Tiller ✘ Helpers ✘ Repositories

Slide 11

Slide 11 text

Walkthrough Let’s package and deploy an application from start to finish! https://github.com/jacobtomlinson/tech-exeter-conference-2018

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

Tap Tap Adventure ✘ Open Source MMO-RPG ✘ Forked from Mozilla Browser Quest ✘ Written in NodeJS ✘ Uses websockets ✘ Backed by a MySQL database https://github.com/Tach-Yon/Tap-Tap-Adventur e 13

Slide 14

Slide 14 text

Building a docker image 14 $ docker build -t /: Building… $ docker push /: Uploading to registry… $ docker run [args…] /: Running container...

Slide 15

Slide 15 text

Building a kubernetes cluster 15 Amazon Web Services $ eksctl create cluster --name= Creating cluster... Google Cloud $ gcloud container clusters create Creating cluster... Microsoft Azure $ az acs create --orchestrator-type kubernetes --resource-group --name --generate-ssh-keys Creating cluster...

Slide 16

Slide 16 text

Building the helm chart and deploying to kubernetes 16 $ helm create Creating skeleton chart... $ Configure your chart... $ helm install --namespace --name -f Deploying to kubernetes...

Slide 17

Slide 17 text

Updating the application 17 $ helm upgrade -f Updating your existing chart...

Slide 18

Slide 18 text

Thanks for listening! Any questions? @_jacobtomlinson [email protected] 18