Slide 1

Slide 1 text

Kubernetes the new platform

Slide 2

Slide 2 text

Raúl Naveiras @rnaveiras / [email protected] / bebanjo.com

Slide 3

Slide 3 text

Obligatory Background

Slide 4

Slide 4 text

Image by Connie Zhou

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Greek for "Helmsman" Runs and manage containers Inspired and informed by Google's experiences

Slide 7

Slide 7 text

Support multiple cloud and bare-metal environments Supports multiple containers runtimes 100% open source, written in Go

Slide 8

Slide 8 text

A group of one or more containers co-located, co-schedule, run in a shared context Pod Pod Web Server Consumers

Slide 9

Slide 9 text

contains one or more application containers which are relatively tightly couple Pod File Puller Web Server Volume Consumers Content Pod

Slide 10

Slide 10 text

Pods have IPs which are routable No brokering of port numbers Pod 10.1.3.17 Pod Networking Pod 10.1.2.4 Pod 10.1.1.21

Slide 11

Slide 11 text

A given pod is not rescheduled Relatively ephemeral entities Life of a Pod

Slide 12

Slide 12 text

Ensures a specify number of pods "replicas" e.g. process supervisor Replica Set

Slide 13

Slide 13 text

Identify attributes of objects that are meaningful and relevant to users Can be used to Organize and to select subject of objects Labels

Slide 14

Slide 14 text

Equality-based requirement Set-based requirement Label Selector env = production tier != web env in (production, qa) tier notin (web, worker) tenant !tenant

Slide 15

Slide 15 text

A logical grouping of pods that perform the same function It has a unique stable Virtual IP Service Pod Pod Pod Service Client VIP tier = web tier = web tier = web label selector: tier = web

Slide 16

Slide 16 text

Provides declarative updates for Pods and Replica Sets Describe the desired state Deployment

Slide 17

Slide 17 text

Demo

Slide 18

Slide 18 text

High Level Design nodes master users kubelet kubelet kubelet kubectl etcd apiserver scheduler controller manager

Slide 19

Slide 19 text

Namespaces Secrets ConfigMaps HPA Ingress Resources Jobs DaemonSets Cron Jobs Volumes Persistent Volumes Resource Quotas Network Polices

Slide 20

Slide 20 text

Security Context Pod Security Polices Service Accounts RBAC Third Party Resources Node affinity and anti-affinity Multi-scheduler support Device scheduling (e.g. GPUS)

Slide 21

Slide 21 text

Federation k8s cluster usa-3 k8s cluster asia-2 k8s cluster europe-1 federation control plane

Slide 22

Slide 22 text

Kubernetes 1.5

Slide 23

Slide 23 text

Improve Federation Support StatefulSet Simplified Cluster Deployment Node Robustness and Extensibility

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

We're hiring http://bebanjo.com/careers

Slide 26

Slide 26 text

Thanks!