Kubernetes & Google Container EngineOverview January 2015Kit MerkerProduct Manager
Comparing Container & VMsContainers are like VMs, but less overhead
Physical Processor
Virtual Processor
Operating System
Libraries
User Code
Physical Processor
Virtual Processor
Operating System
Libraries
User Code
PrivateCopy
Shared
PrivateCopy
Shared
Virtual Machines Containers
Addressing developer needsReliable packaging and deployment is hard.Containers can solve these problems:● “It ran on my machine.”
● “Sorry, the installation partially failed.”
● “But we depend on v1.1! [aka ‘dll hell’]”
Traditional VM package managers don’t handle these.
Addressing IT/Ops needs● Already delegate physical ops via cloud/VMs, container
clusters take that a step further
● Reduce knowledge of application specifics
● Focus on capacity, bandwidth, utilization, geo-
distribution, security, data management
● Simplify & harden handoff from dev
Container Cluster Orchestration
Package & run your app as containers
Find existing container images from others
Deploy your container on your laptop, server, or
cloud
Container Cluster Orchestration Engine
Declarative management hides complexity
Open Source, Runs Anywhere
Cluster-Oriented Container Service
Full Google Cloud Platform Infrastructure
Powered by Kubernetes
Kubernetes Container Engine
Pods
MachineHost
MachineHost
MachineHost
MachineHost
KubernetesAgent
KubernetesAgent
KubernetesAgent
KubernetesAgent
KubernetesMaster/Scheduler
A
B● Group of containers● Settings in a template
Behaviors
Benefits
➔ Reuse across environments➔ Repeatable, manageable
Replicas
Replica managers: Managing the lifecycle of containers
Pod
frontend
Pod
frontend
ReplicationController
#Pods: 2
Pod Pod
frontend
Pod
v1 v1
Behavior
Benefits
● Keeps Pods running● Gives direct control of Pod #s
➔ Restarts Pods, desired state➔ Fine-grained control for scaling
Services
Service: A way to find and consume distributed systems
PodPod
Service
Client
PodPod
Benefits
● Stable address● Decoupled from
Controllers
➔ Clients shielded from implementation details➔ Independently control each, build for resiliency
Behavior
Labels
Labels: A way to manage large deployments
Pod
frontend
Pod
frontendPod Pod Pod
FE FE v2
● Metadata with semantic meaning● Membership identifier
Behavior
Benefits
➔ Allow for intent of many users (e.g. dashboards)➔ Build higher level systems …
Mobility
Hypervisor
Node environment
guest OS
app code
libraries
container 1
Hypervisor
Node environment
guest OS
app code
libraries
container 1
move
environment A
environment B
Mobility
Hypervisor
Node environment
guest OS
app code
libraries
container 1
Hypervisor
Node environment
guest OS
app code
libraries
container 1
move
environment A
environment B
“[Google's] ability to build, organize, and operate a huge network of servers and fiber-optic cables with an efficiency and speed that rocks physics on its heels.
This is what makes Google Google: its physical network, its thousands of fiber miles, and those many thousands of servers that, in aggregate, add up to the mother of all clouds.”
- Wired
Images by Connie Zhou
For the past 15 years, Google has been building out the world’s fastest, most powerful, highest quality cloud infrastructure on the planet.
Images by Connie Zhou
Each week at Google we launch over 2 billion containers
cloud.google.com
Images by Connie Zhou