gluecon kubernetes & container engine

41
Kubernetes Decoupling, DevOps and Composite Containers Brendan Burns Senior Staff Software Engineer

Upload: brendandburns

Post on 07-Aug-2015

435 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: GlueCon kubernetes & container engine

KubernetesDecoupling, DevOps and Composite Containers

Brendan BurnsSenior Staff Software Engineer

Page 2: GlueCon kubernetes & container engine

https://www.flickr.com/photos/greeblie/2224507899

Page 3: GlueCon kubernetes & container engine

Decoupling SRE

Application SRE

Hardware SRE

Cluster SRE

Kernel/OS SRE

Page 4: GlueCon kubernetes & container engine

Homogenous Machine Fleet (Virtual or Physical)

Kubernetes API: Unified Compute Substrate

Application containers

Page 5: GlueCon kubernetes & container engine

Modular Container Design“Good fences make good neighbors” - Robert Frost

Page 6: GlueCon kubernetes & container engine

Kubernetes Concepts: Pods

Container Foo

Namespaces- Net- IPC- ..

Container Bar

Page 7: GlueCon kubernetes & container engine

Pod Sidecars

node.jsGit Synchronizer

Sidecars extend and enhance

Page 8: GlueCon kubernetes & container engine

Pod Sidecars

nginxGit Synchronizer

Sidecars extend and enhance

Page 9: GlueCon kubernetes & container engine

Pod Ambassadors

web app twemproxy

Ambassadors represent and present

localhost

Page 10: GlueCon kubernetes & container engine

Pod Adapters

redis redis exporter

Adapters normalize and abstract

localhost

Page 11: GlueCon kubernetes & container engine

Pod Demo

Page 12: GlueCon kubernetes & container engine

A Quick Look @ Your Code

Page 13: GlueCon kubernetes & container engine

& Your Code Community

Contribute

Share Use Keep

Page 14: GlueCon kubernetes & container engine

Quick Look @ Your Cluster

Page 15: GlueCon kubernetes & container engine

Your Next Cluster

● Only update the part that needs updating

● Clean boundaries enable agile teams

● Advantages of reuse:○ Faster to build systems

○ Leverage expert knowledge everywhere

○ Consistent interface and experience

Page 16: GlueCon kubernetes & container engine

Modular Container Design● Separate concerns (e.g. “webserver”, “git syncher”)

● Design for reuse○ Parameterize○ Document

● Build consistent experiences

● Avoid NIH

Page 17: GlueCon kubernetes & container engine

From Legos to Starships

Page 18: GlueCon kubernetes & container engine

Kubernetes Concepts: Labels

Container Foo

Container Bar

Namespaces- Net- IPC- ..

Page 19: GlueCon kubernetes & container engine

Kubernetes Concepts: Labelsfrontend

production

production

backend

production

backend

bburns

testing

Page 20: GlueCon kubernetes & container engine

Kubernetes Concepts: Labelsfrontend

production

production

backend

production

backend

bburns

testing

stage: production

Page 21: GlueCon kubernetes & container engine

Kubernetes Concepts: Labelsfrontend

production

production

backend

production

backend

bburns

testing

stage: productionrole: backend

Page 22: GlueCon kubernetes & container engine

Kubernetes Concepts: Replication Controller

production

backend

production

backendproduction

backend

#N

Page 23: GlueCon kubernetes & container engine

Kubernetes Concepts: Services

production

backend

production

backendproduction

backend

port(s)

name1.2.3.4“name”

Page 24: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

production

frontend

production

Page 25: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

production

frontend

production

Page 26: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend frontend

production

Page 27: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

frontend

production

Page 28: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

frontend

production

frontend

production

Page 29: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

production

frontend

production

v1 v1 v1

Page 30: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

production

frontend

production

v1 v1 v1

frontend

production

v2

Size: 0

Page 31: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

frontend

production

v1 v1

frontend

production

v2

Page 32: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

v1

frontend

production

frontend

production

v2 v2

Page 33: GlueCon kubernetes & container engine

Using labels in ops

frontend

production

v1

frontend

production

frontend

production

frontend

production

v2 v2 v2

Size: 0

Page 34: GlueCon kubernetes & container engine

Demo Time!

Page 35: GlueCon kubernetes & container engine

https://www.flickr.com/photos/greeblie/2224507899

Page 36: GlueCon kubernetes & container engine

Decoupling the network

10.0.0.2

10.0.0.1

10.0.0.3 10.1.0.1

10.1.0.2

10.1.0.3

Page 37: GlueCon kubernetes & container engine

Decoupling the network

10.0.0.2

10.0.0.1

10.0.0.3 10.1.0.1

10.1.0.2

10.1.0.3

10.2.0.110.2.0.210.2.0.3

10.3.0.110.3.0.210.3.0.3

10.4.0.110.4.0.210.4.0.3

10.2.0.110.5.0.210.5.0.3

10.8.0.110.2.0.210.8.0.3

10.2.0.110.7.0.210.7.0.3

Page 38: GlueCon kubernetes & container engine

Decoupling the network

10.0.0.2

10.0.0.1

10.0.0.3 10.1.0.1

10.1.0.2

10.1.0.3

10.2.0.110.2.0.210.2.0.3

10.3.0.110.3.0.210.3.0.3

10.4.0.110.4.0.210.4.0.3

10.2.0.110.5.0.210.5.0.3

10.8.0.110.2.0.210.8.0.3

10.2.0.110.7.0.210.7.0.3

Page 39: GlueCon kubernetes & container engine

10.5.0.310.2.0.3

Decoupling the network

10.3.0.1

10.5.0.1

10.2.0.1

10.4.0.2

connect(ip1, ip2, qos)

Page 40: GlueCon kubernetes & container engine

10.5.0.310.2.0.3

Decoupling the network

10.3.0.1

10.4.0.1

10.2.0.1

10.4.0.2

connect(ip2, ip2, qos)

Encryption, Identity and Authorization in the SDN/API layer

Centralized auditing, compliance and enforcement

No certificate distribution

Page 41: GlueCon kubernetes & container engine

Questions?

#[email protected]

github.com/GoogleCloudPlatform/kubernetescloud.google.com/container-engine/