Slide 1

Slide 1 text

Node.js Workflow with Minikube and Skaffold @brandonphilips

Slide 2

Slide 2 text

github.com/philips/node-kube

Slide 3

Slide 3 text

What is a container? Why use containers? Why use Kubernetes?

Slide 4

Slide 4 text

What is a container? Why use containers? Why use Kubernetes?

Slide 5

Slide 5 text

Containers 101

Slide 6

Slide 6 text

you

Slide 7

Slide 7 text

you as a sw engineer

Slide 8

Slide 8 text

your with Ada.Text_IO; procedure Hello_World is use Ada.Text_IO; begin Put_Line("Hello, world!"); end; #include int main() { printf("Hello, world!\n"); } package main import "fmt" func main() { fmt.Println("Hello, world!") }

Slide 9

Slide 9 text

your container image

Slide 10

Slide 10 text

your /bin/node /opt/app.js /lib/libc

Slide 11

Slide 11 text

your /bin/node /opt/app.js /lib/libc

Slide 12

Slide 12 text

your quay.io/me/node-app

Slide 13

Slide 13 text

your quay.io/me/node-app sha256:d474e8c57737

Slide 14

Slide 14 text

your d474e8c57737625c Signed By: Alice

Slide 15

Slide 15 text

Demo w/ docker

Slide 16

Slide 16 text

What is a container? Why use containers? Why use Kubernetes?

Slide 17

Slide 17 text

you as an ops engineer

Slide 18

Slide 18 text

your

Slide 19

Slide 19 text

your quay.io/me/node-app x3

Slide 20

Slide 20 text

your quay.io/me/node-app x3

Slide 21

Slide 21 text

your quay.io/you/search-app x1

Slide 22

Slide 22 text

your mongodb/mongodb x2

Slide 23

Slide 23 text

Demo w/ minikube

Slide 24

Slide 24 text

What is a container? Why use containers? Why use Kubernetes?

Slide 25

Slide 25 text

Clustering Server Botnets!

Slide 26

Slide 26 text

100+ Per Person At the Internet Giants

Slide 27

Slide 27 text

100+ Per Person Too many for manual placement

Slide 28

Slide 28 text

100+ Per Person Too many for manual placement

Slide 29

Slide 29 text

100+ Per Person Too many for manual placement

Slide 30

Slide 30 text

$ while read host; ssh $host … < hosts ???

Slide 31

Slide 31 text

$ while read host; ssh $host … < hosts ???

Slide 32

Slide 32 text

$ while read host; ssh $host … < hosts Problems: No monitoring, no state to recover

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

$ kubectl run --replicas=3 quay.io/coreos/dex

Slide 36

Slide 36 text

$ kubectl run --replicas=3 quay.io/coreos/dex Solution: Monitoring, and state on computers

Slide 37

Slide 37 text

$ kubectl run --replicas=3 quay.io/coreos/dex

Slide 38

Slide 38 text

$ kubectl run --replicas=3 quay.io/coreos/dex

Slide 39

Slide 39 text

$ kubectl run --replicas=3 quay.io/coreos/dex

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

???

Slide 44

Slide 44 text

???

Slide 45

Slide 45 text

Simple cluster operations Secure and Simple API Friendly operational tools

Slide 46

Slide 46 text

Demo w/ minikube