Slide 1

Slide 1 text

“WHEN YOU LOOK INTO IT, KUBERNETES ISN’T THAT COMPLICATED AFTER ALL” WYLIIKITCAA

Slide 2

Slide 2 text

WHAT IS KUBERNETES? CLUSTER STATE STORE (AND MANAGER)

Slide 3

Slide 3 text

WHAT IS KUBERNETES? DESIRED STATE CLUSTER

Slide 4

Slide 4 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 5

Slide 5 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 6

Slide 6 text

HOW DO I SET THE DESIRED STATE? apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80

Slide 7

Slide 7 text

HOW DO I SET THE DESIRED STATE? $ kubectl create -f pod-nginx.yaml

Slide 8

Slide 8 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 9

Slide 9 text

HOW DOES KUBERNETES SELECT THE FEASIBLE NODES? CONTROLLERS

Slide 10

Slide 10 text

DEPLOYMENT STATEFUL SET DAEMON SET WORKLOAD CONTROLLERS

Slide 11

Slide 11 text

DEPLOYMENT Declarative updates Rolling back Scaling Creates ReplicaSets WORKLOAD CONTROLLERS

Slide 12

Slide 12 text

STATEFUL SET Guaranteed order and uniqueness Persistant storage Stable, unique network identifiers WORKLOAD CONTROLLERS

Slide 13

Slide 13 text

DAEMON SET Running on all nodes WORKLOAD CONTROLLERS

Slide 14

Slide 14 text

LABELS

Slide 15

Slide 15 text

AFFINITY TAINT Node selectors Required/preferred Conditions Eviction TAINT AND AFFINITY

Slide 16

Slide 16 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 17

Slide 17 text

THE DESIRED STATE

Slide 18

Slide 18 text

ETCD Distributed key/value store Like a directory tree (/etc) JSON/REST API Uses a Discovery URL Needs at least 3 nodes for consensus

Slide 19

Slide 19 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 20

Slide 20 text

KUBELET

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

WHAT IS KUBERNETES? “I NEED A CONTAINER RUNNING NGINX” Pick feasible nodes Update their desired state Get the current state

Slide 23

Slide 23 text

No content