“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