(Senior DevOps Manager & Principal Architect)
Rajesh Kumar — an award-winning academician and consultant trainer, with 15+ years’ experience in diverse skill management, who has more than a decade of experience in training large and diverse groups across multiple industry sectors.
Big Picture View
An Orchestrator for
Microservice Apps
The Kubernetes Control Plane
Multi-master HA
Front-end to the control
plane
Exposes the API (REST)
Consumes JSON
(via manifest files)
Persistent storage
Cluster state and config
Uses etcd
Distributed, consistent, watchable…
The “source of truth” for the cluster
Have a backup plan for it!
Controller of controllers
Watches for changes
Helps maintain desired state
Control Loops
Watches apiserver for new pods
Assigns work to nodes
Nodes a . k . a “Minions”
The Kubernetes Worker
Does container management:
Pluggable:
Kubernetes networking:
Kubelet
Main Kubernetes agent
Container
engine Docker or rkt
kube-proxy
Kubernetes networking
Not an exhaustive list, but these are the key players
Containers always
run inside of pods
Pods can have multiple
containers
(advanced use-case)
Ring-fenced environment
n containers
All containers in pod
share the pod environment
One or more containers
It’s your application or service
The most basic unit of work
Unit of scheduling
Ephemeral - no Pod is ever “redeployed”
Atomicity - they’re there or NOT
Kubernetes’ job is keeping your Pods running
More specifically keeping the desired state
State - is the Pod up and running
Health - is the application in the Pod running
Liveness probes
Usually via higher level objects
Usually via higher level objects
Objects
in the
K8s API
Pods : Atomic unit of scheduling…
Replication
Controllers : Scale pods, desired state etc…
Deployments : RC + rolling updates, rollbacks…
Services : Stable networking…
Create and manage Pods for you
Define your desired state Respond to Pod state and health
ReplicaSet
Number of replicas
Deployment
Manage rollout of ReplicaSet
Many more…and not just Pods
Adds persistency to our ephemeral world
Networking abstraction for Pod access
IP and DNS name for the service
Redeployed Pods automatically updated
Scaled by adding/removing Pods
Load balancing
Coming up next…
Installing Kubernetes
DevOpsSchool — Lets Learn, Share & Practice DevOps