Top Banner
Matt Butcher Deis Architect Author of Go in Practice & 7 other books. Contributed to over 100 FOSS projects. Philosopher (no, really). Has serious coffee drinking problems.
24

The Great Kubernetes Rebase

Apr 12, 2017

Download

Technology

KubeAcademy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Great Kubernetes Rebase

Matt ButcherDeis Architect

Author of Go in Practice & 7 other books. Contributed to over 100 FOSS projects. Philosopher (no, really).

Has serious coffee drinking problems.

Page 2: The Great Kubernetes Rebase

The Great Kubernetes RebaseLessons the Deis Team is Learning

Page 3: The Great Kubernetes Rebase

The Deis Project

• Containerized PaaS

• Easy as Heroku

• Run on your own infrastructure

• Pick what you like

Page 4: The Great Kubernetes Rebase

Deis v1

CoreOS

Fleet Etcd

Docker

RouterController Registry

BuilderStorageLogger

Apps

Page 5: The Great Kubernetes Rebase

Deis v2

???

Kubernetes

RouterController Registry

SlugbuilderObject StoreLogger

Apps

EtcdSlugrunnerGit GW

Page 6: The Great Kubernetes Rebase

Five Lessons We Learned

Page 7: The Great Kubernetes Rebase

5. Turtles All the Way Down

Page 8: The Great Kubernetes Rebase

The Things We Do For Security

http://is.gd/raLYgY

Pod + Container

Qemu

Docker

Image Builder

Page 9: The Great Kubernetes Rebase

Fun Fact: It’s really hard to find a photo with more than four turtles stacked.

Page 10: The Great Kubernetes Rebase

Well….

“Did it work?”

Page 11: The Great Kubernetes Rebase

4. The Bartleby Effect

Page 12: The Great Kubernetes Rebase

Managing Manifests

• No “real world examples” outside of the k8s codebase

• Examples and tutorials often broken

• Dearth of tools for working with manifests

• Steep learning curve for newcomers (and we were newcomers)

http://gastoncavalleri.com/2014/05/14/bartleby-existentialism-and-marxism-by-gaston-cavalleri/

Page 13: The Great Kubernetes Rebase

At The HelmWe thought a lot about this problem. We wanted something like Homebrew (or maybe apt-get/yum) for Kubernetes.

So we created Helm, a package manager for Kubernetes.

Page 14: The Great Kubernetes Rebase

Today we’re happy to release Helm!

http://helm.sh

Page 15: The Great Kubernetes Rebase

3. The Key (Value) To Success

Page 16: The Great Kubernetes Rebase

Etc, Etc, Etc(d).

• We needed mutable K/V storage across arbitrary pods

• Relearning how to run a core service

• Internal discovery

• Which leads us to…

http://is.gd/m4P35X

Page 17: The Great Kubernetes Rebase

2. The Chumbawamba Principle

Page 18: The Great Kubernetes Rebase

–Tubthumping

“I get knocked down, but I get up again.”

Page 19: The Great Kubernetes Rebase

Don’t Just Do “Images”• No more “solipsistic” Docker images

• Kubernetes-aware images that give us…

• Custom bootstrap

• Downward API

• Resilience (bounce-back)

Page 20: The Great Kubernetes Rebase

1. The Service is Part of the Consumer

Page 21: The Great Kubernetes Rebase

We Tend to Divide Services and Consumers Like This

My App My DatabaseDB Service

Page 22: The Great Kubernetes Rebase

A Little Problem

My App My DatabaseDB Service

Problem: App code (thus dev) needs to know about services

at dev time.But service is not part of

app code.

Page 23: The Great Kubernetes Rebase

Service Belongs to Consumer

My App My DatabaseDB Service

Relationship between svc and app is closer. Label query (still) handles this.

Page 24: The Great Kubernetes Rebase

The EndQuestions?

http://is.gd/hg0hh4