Upload
jeroen-visser
View
97
Download
1
Embed Size (px)
Citation preview
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
Build your own PaaS using Kubernetes and Deis
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Hi!
2
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Hi!
3
My name is Jeroen
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
CTO at Uberous
4
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Blogging at jrnv.nl
@jeroenvisser101 on TwiOer, GitHub, etc.
5
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
Build your own PaaS using Kubernetes and Deis
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
What is Kubernetes?A short introducVon
@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
Container Orchestrator
8
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 9
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Portable format for File system, Libraries and RunVme
10
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Kubernetes
11
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Manage your cluster as one machine
Kubernetes
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 13
CaOle vs. Pets
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 14
CaOle vs. Pets
NamedLoved and cared for
Nursed when ill
NumberedAlmost identical
Replaced when ill
+ 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
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
AbstracVons
16
Kubernetes
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Pod
17
Kubernetes
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 18
Kubernetes
Git sync
Nginx
Pod
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 19
Kubernetes
Git sync
Nginx
Pod
env: prod
Labels
app: website
+ 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
+ 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
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 22
Kubernetes
Git sync
Nginx
Pod
env: prod
Labels
app: website
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 23
Kubernetes
Git sync
Nginx
Pod
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 24
Kubernetes
Git sync
Nginx
PodReplicaSet
replicas=1
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Git sync
Nginx
25
Kubernetes
Git sync
Nginx
PodReplicaSet
replicas=2
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 26
Git sync
Nginx
Kubernetes
Git sync
Nginx
Pod
ReplicaSetreplicas=2
Service
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 27
Kubernetes
Service
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 28
Kubernetes
Git sync
Nginx
Pod Node
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 29
Kubernetes
Node
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 30
Kubernetes
Node
Node
Node
Node
Node
Node
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 31
Kubernetes
Node
Node
Node
Node
Node
Node
Master
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Kubernetes
32
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Google Container Engine
33
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
What is Deis?and why would I use it?
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Deis (noun) — /deɪ'ɪz/
35
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Layer on top of Kubernetes
36
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Easy deployment of your app on Kubernetes
37
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
$ git push deis
38
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 39
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 40
BuildpacksProcfile 12 factor
@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands 41
worker: bundle exec sidekiq
Procfile
web: bundle exec puma
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 42
BuildpacksProcfile 12 factor
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 43
12 factor
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 45
BuildpacksProcfile 12 factor
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 46
Buildpacks
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser 47
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Dockerfiles and Docker images
48
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Easy setup
49
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
bit.ly/install-deis
50
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
Live Demo
51
+ GDG DevFest Netherlands @jeroenvisser101 — Jeroen Visser
demo source: hOps://github.com/jeroenvisser101/
deis-demo
52
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands
Thanks for listening!Rock on!
uberous.io@jeroenvisser101 — Jeroen Visser+ GDG DevFest Netherlands