Cory O’Daniel (apostrophe not required)
Senior YAML Architect @ Container Heroes
Creator of Bonny Kubernetes Development Framework
@coryodaniel
@coryodaniel
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Why do we
extend?
The operator pattern
allows you to codify the
expertise of a human
operator with deep
knowledge of managing
an application or set of
services and how to
react if there are
problems.
Slide 5
Slide 5 text
Why do we
extend? Declarative Highly
Available Databases
Slide 6
Slide 6 text
Why do we
extend?
Slide 7
Slide 7 text
Why do we
extend? On-demand database
snapshots
Slide 8
Slide 8 text
Why do we
extend?
Slide 9
Slide 9 text
Why do we
extend? Generating TLS
Certificates
Slide 10
Slide 10 text
Why do we
extend?
Slide 11
Slide 11 text
Why do we
extend? Creating S3 Buckets
Slide 12
Slide 12 text
Why do we
extend?
Slide 13
Slide 13 text
The Operator pattern for extending Kubernetes
● Process a chunked HTTP stream of add, modify, and
delete events
● Continually reconcile k8s resources’ state changes
● Manage background tasks, processes, and state
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
Why Kubernetes?
Service Discovery and Load Balancing
NODE
NODE
Where is
microservice-a.prod.svc.cluster.local
NODE
MASTERS
Why Kubernetes?
● Secret and Config Management
● Single deployment tool/interface
● Portability
Slide 22
Slide 22 text
Kubernetes
Crash Course
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
Resource
Attributes
And
Metadata
Slide 26
Slide 26 text
Metadata as REST Path
Slide 27
Slide 27 text
`kubectl explain pod`
● 1 or more colocated docker containers
● Acts as a “logical host”
● Share volumes
● Share network
● Live and die as a unit
Slide 28
Slide 28 text
`kubectl explain deployment`
● Declarative management of pods
○ Desired number of pod
replicas
○ Rollout Strategy
○ Revision History
Slide 29
Slide 29 text
`kubectl explain service`
● Exposes a set of pods as a network service
● Selects pods using labels
Slide 30
Slide 30 text
Life of a Deployment
Slide 31
Slide 31 text
Scheduler
ETCD
Master
Components
NODES
Deployment
ReplicaSet
Pod
API Server
Deployment
Controller
ReplicaSet
Controller
Ctrl Manager
HTTP POST
HTTP GET
deployment/nginx
replicaset/nginx-jk1234
pod/nginx-jk1234-6963