build your own paas using kubernetes and deis — gdg devfest nl

54
uberous.io @jeroenvisser101 — Jeroen Visser + GDG DevFest Netherlands Build your own PaaS using Kubernetes and Deis

Upload: jeroen-visser

Post on 13-Feb-2017

97 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

Build your own PaaS using Kubernetes and Deis

Page 2: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Hi!

2

Page 3: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Hi!

3

My name is Jeroen

Page 4: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

CTO at Uberous

4

Page 5: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Blogging at jrnv.nl

@jeroenvisser101 on TwiOer, GitHub, etc.

5

Page 6: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

Build your own PaaS using Kubernetes and Deis

Page 7: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

What is Kubernetes?A short introducVon

Page 8: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

Container Orchestrator

8

Page 9: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 9

Page 10: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Portable format for File system, Libraries and RunVme

10

Page 11: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Kubernetes

11

Page 12: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Manage your cluster as one machine

Kubernetes

Page 13: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 13

CaOle vs. Pets

Page 14: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 14

CaOle vs. Pets

NamedLoved and cared for

Nursed when ill

NumberedAlmost identical

Replaced when ill

Page 15: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Kubernetes

15

A set of abstracVons that allow HA,

Scaling, Self-Healing, Geo-replicaVon

An implementaVon of those abstracVons

on top of etcd, Docker

Page 16: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

AbstracVons

16

Kubernetes

Page 17: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Pod

17

Kubernetes

Page 18: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 18

Kubernetes

Git sync

Nginx

Pod

Page 19: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 19

Kubernetes

Git sync

Nginx

Pod

env: prod

Labels

app: website

Page 20: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 20

Kubernetes

Git sync

Nginx

env: prod

Labels

app: website

Pod

Git sync

Nginx

env: dev

Labels

app: website

Pod

Git sync

Nginx

env: prod

Labels

app: website

Pod

Git sync

Nginx

env: dev

Labels

app: website

Pod

Page 21: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 21

Kubernetes

Git sync

Nginx

env: prod

Labels

app: website

Pod

Git sync

Nginx

env: dev

Labels

app: website

Pod

Git sync

Nginx

env: prod

Labels

app: website

Pod

Git sync

Nginx

env: dev

Labels

app: website

Pod

env: dev app:website

Page 22: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 22

Kubernetes

Git sync

Nginx

Pod

env: prod

Labels

app: website

Page 23: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 23

Kubernetes

Git sync

Nginx

Pod

Page 24: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 24

Kubernetes

Git sync

Nginx

PodReplicaSet

replicas=1

Page 25: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Git sync

Nginx

25

Kubernetes

Git sync

Nginx

PodReplicaSet

replicas=2

Page 26: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 26

Git sync

Nginx

Kubernetes

Git sync

Nginx

Pod

ReplicaSetreplicas=2

Service

Page 27: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 27

Kubernetes

Service

Page 28: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 28

Kubernetes

Git sync

Nginx

Pod Node

Page 29: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 29

Kubernetes

Node

Page 30: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 30

Kubernetes

Node

Node

Node

Node

Node

Node

Page 31: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 31

Kubernetes

Node

Node

Node

Node

Node

Node

Master

Page 32: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Kubernetes

32

Page 33: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Google Container Engine

33

Page 34: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

What is Deis?and why would I use it?

Page 35: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Deis (noun) — /deɪ'ɪz/

35

Page 36: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Layer on top of Kubernetes

36

Page 37: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Easy deployment of your app on Kubernetes

37

Page 38: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

$ git push deis

38

Page 39: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 39

Page 40: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 40

BuildpacksProcfile 12 factor

Page 41: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands 41

worker: bundle exec sidekiq

Procfile

web: bundle exec puma

Page 42: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 42

BuildpacksProcfile 12 factor

Page 43: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 43

12 factor

Page 44: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 44

12factor.net

Page 45: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 45

BuildpacksProcfile 12 factor

Page 46: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 46

Buildpacks

Page 47: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 47

Page 48: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Dockerfiles and Docker images

48

Page 49: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Easy setup

49

Page 50: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

bit.ly/install-deis

50

Page 51: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

Live Demo

51

Page 52: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser

demo source: hOps://github.com/jeroenvisser101/

deis-demo

52

Page 53: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands

Thanks for listening!Rock on!

Page 54: Build your own PaaS using Kubernetes and Deis — GDG DevFest NL

uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands