Slide 1

Slide 1 text

Deploying Microservices with Kubernetes Matthew Rudy Jacobs @ Codeaholics HK

Slide 2

Slide 2 text

I’M STILL ADDICTED TO HEROKU 2

Slide 3

Slide 3 text

KILLER FEATURES:

Slide 4

Slide 4 text

`git push heroku master` 4 deploy from the command line

Slide 5

Slide 5 text

`heroku rollback` 5 jump back to an old version in an instant

Slide 6

Slide 6 text

`heroku config` 6 set environment variables on-the-fly which your containers instantly see

Slide 7

Slide 7 text

`heroku run shell` 7 run any code interactively within a container

Slide 8

Slide 8 text

WHAT’S NEXT?

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

I’M SAYING “KUBERNETES”

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

THE CONCEPTS

Slide 19

Slide 19 text

Gateway Todos Users Auth FROM LAST TIME Riak SQL Mailer Search ElasticSearch

Slide 20

Slide 20 text

Service Service Service Service EVERYTHING’S A “SERVICE” Service Service Service Service Service

Slide 21

Slide 21 text

SERVICES ARE LINKED Service SEARCH_SERVICE_HOST SEARCH_SERVICE_PORT USERS_SERVICE_HOST USERS_SERVICE_PORT GATEWAY_SERVICE_HOST GATEWAY_SERVICE_PORT RIAK_SERVICE_HOST RIAK_SERVICE_PORT

Slide 22

Slide 22 text

A COLLECTION OF PODS Pod Pod Pod Pod :80 :8080

Slide 23

Slide 23 text

THE PODS CAN BE DIFFERENT Pod Pod Pod Pod :80 :8080

Slide 24

Slide 24 text

A POD IS A GROUP OF IMAGES Pod Web :8080 Worker

Slide 25

Slide 25 text

SECRETS Pod Web :8080 Worker /etc/secrets Secrets mount

Slide 26

Slide 26 text

DISTRIBUTED ACROSS NODES Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod

Slide 27

Slide 27 text

AVAILABILITY CONTROLLERS KEEP THEM AVAILABLE Pod Pod Pod Replicas = 3

Slide 28

Slide 28 text

CRASHED POD Pod Crash Pod Replicas = 3 Pod

Slide 29

Slide 29 text

SCALE Pod Pod Pod Replicas = 7 Pod Pod Pod Pod

Slide 30

Slide 30 text

ROLLING UPDATE Pod V1 Pod V1 Pod V1 Pod V2 V1 Controller V2 Controller Create a New Controller And Resize until they swap over

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

LIVE DEMO

Slide 33

Slide 33 text

THANKS STEVE