Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

68
Couchbase Server with CoreOS & Kubernetes Brian "redbeard" Harrington Principal Architect, CoreOS Traun Leyden Sr. Software Engineer, Couchbase

Transcript of Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Page 1: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Couchbase Server withCoreOS & Kubernetes

Brian "redbeard" HarringtonPrincipal Architect, CoreOS

Traun LeydenSr. Software Engineer, Couchbase

Page 2: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

TraunLeydenSr. Software [email protected]/tleydentwitter.com/tleyden

Page 3: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 4: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Brian “Redbeard”Harrington

Principal [email protected]/brianredbeardtwitter.com/brianredbeardbrianredbeard.com

Page 5: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 6: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

COUCHBASE

SERVER

Page 7: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

K8S

Page 8: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

K8SKUBERNETES

Page 9: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

PEANUT BUTTER & JELLY (CC) SHAWN CARPENTER

Page 10: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

090301.020.PORTKLANG (CC) BY JGMORAD

Page 11: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

090301.020.PORTKLANG (CC) BY JGMORAD

APPLICATIONCONTAINERS

Page 12: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CONT 100

Page 13: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 14: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CONT 100

Page 15: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CONTAINERSARE NOTLIGHTWEIGHT VMS

Page 16: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CONTAINERS SERVEA DIFFERENTPURPOSE

Page 17: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

LINUX KERNELNAMESPACES

Page 18: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 19: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

USERLAND

Page 20: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

USERLAND

LINUX KERNEL

Page 21: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Red Hat

LINUX KERNEL

Page 22: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Debian

LINUX KERNEL

Page 23: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CoreOS

LINUX KERNEL

Page 24: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

USERLAND

LINUX KERNEL

Page 25: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

lo = 127.0.0.1eth0 = 10.10.10.1uid = 1000ports =

::25::53::80::143

LINUX KERNEL

Page 26: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

lo = 127.0.0.1eth0 = 10.10.10.1uid = 1000ports =

::25::53::80::143

LINUX KERNEL

Page 27: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

lo = 127.0.0.1eth0 = 10.10.10.1uid = 1000ports =

::25::53::80::143

lo = 127.0.0.1eth0 = 10.10.10.3uid = 1000ports =

::21::23::8080::59000

LINUX KERNEL

Page 28: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

lo = 127.0.0.1eth0 = 10.10.10.1uid = 1000ports =

::25::53::80::143

lo = 127.0.0.1eth0 = 10.10.10.2uid = 1000ports =

::22::53::80::110

lo = 127.0.0.1eth0 = 10.10.10.3uid = 1000ports =

::21::23::8080::59000

LINUX KERNEL

Page 29: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

PID: 10 |- /bin/bashUID: 1000

PID: 10 |- /bin/tcshUID: 1000

10.10.10.1

Page 30: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Red Hat CoreOSDebian

LINUX KERNEL

Page 31: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Linux != UNIX

Page 32: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

Linux != UNIX™

Page 33: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CAPABILITIES

Page 34: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

IF UID == 0 {exec();

}

Page 35: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

$ ping 8.8.8.8

Page 36: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

setuid 0;

Page 37: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

$ ls -i /bin/ping$ hexedit /dev/sda1

Page 38: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

2.2 Kernel -CAP_CHOWNCAP_KILLetc

Page 39: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

2.4 Kernel -CAP_MKNODCAP_LEASEetc

Page 40: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

2.6.37 Kernel -CAP_SYSLOGetc

Page 41: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

3.0 Kernel -CAP_WAKE_ALARMetc

Page 42: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

3.5 Kernel -CAP_BLOCK_SUSPENDetc

Page 43: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

it's not perfect:

Page 44: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

CAP_SYS_ADMIN

Page 45: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

MOVING ON...

Page 46: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

WEIMARANER FIGUREHEAD (CC) BY INGRID TAYLAR

Page 47: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

WEIMARANER FIGUREHEAD (CC) BY INGRID TAYLAR

KUBERNETES

Page 48: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 49: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 50: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 51: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

POD

Page 52: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 53: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 54: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 55: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

REPLICATION CONTROLLER

Page 56: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

REPLICATION COUNT = 1

Page 57: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

REPLICATION COUNT = 3

Page 58: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

REPLICATION COUNT = 5

Page 59: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

REPLICATION COUNT = 3

service

Page 60: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 61: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

SKY PUZZLE (CC) BY JARED TARBELL

Page 62: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 63: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 64: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 65: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 66: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 67: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015
Page 68: Couchbase Server with CoreOS and Kubernetes: Couchbase Connect 2015

SOME COMPELLING PHOTO (CC) BY A USER