Containerizing the Cloud
with Kubernetes and Docker
James Chittenden
Cloud Platform Solutions Engineer
jameschi@google.com
What is a container?
• Lightweight Linux environment
• Hermetically sealed, deployable application
• Introspectable, runnable artifact
• Recently popularized by Docker
Static application environment
= reliable deployments
No stress deployment and update
Why do developers care?
Repeatable, runnable artifact
= portability
Develop here, run there
Pick your cloud solely on its merits
Loosely coupled
= easier to build and manage
Compose applications from micro-
services
Mix in and extend third party services
Everything at Google runs
in a container.
• Resource isolation
• Predictability
• Quality of service
• Efficient overcommit
• Resource accounting
Images by Connie Zhou
We start over 2 billion containers per week.
Why do developers care?
• Efficiency: optimized packing, better scaling
• Performance: active environment tuning
• Continuous integration: easy and reliable
• Robustness: active monitoring, self healing
Highly automatable = path to active management
Managed Base OS
Node Container Manager
Scheduled Containers
Cluster Scheduler
Google cluster management stack
Managed Base OS
Node Container Manager
Scheduled Containers
Cluster Scheduler
Node container management on the Google Cloud
Container Optimized VM Image
Standardized Declarative Container
Manifest
Container health monitoring and restart
version: v1beta1
containers:
- name: www
image: nginx
ports:
- name: http
hostPort: 8080
containerPort: 80
Example with nginx
$ gcloud compute instances create my-nginx-container
--metadata-from-file google-container-manifest=containers.yaml
--zone us-central1-a
--machine-type f1-micro
--image projects/google-containers/global/images/container-vm-v20140522
command line
containers.yaml
www
version: v1beta1
containers:
- name: www
image: nginx
ports:
- name: http
hostPort: 8080
containerPort: 80
- name: https
hostPort: 443
containerPort: 443
Example with nginx
containers.yaml
www
8080
443
80
443
version: v1beta1
containers:
- name: www
…
volumeMounts:
- name: dataShard
path: /mnt/shard
readOnly: true
- name: dataLoader
…
volumeMounts:
- name: dataShard
path: /mnt/output
volumes:
- name: dataShard
Example with data sharding
containers.yaml
www dataLoader
dataShard
User Experience
Container Env.
User App
Host GCE VM
Google Provided
OS
monitoring agent
logging agent
init / systemd sshd
docker
Managed Base OS
Node Container Manager
Scheduled Containers
Cluster Scheduler
Cluster container scheduling on the Google Cloud
Schedule containers across machines
Replication and resizing
Service naming and discovery
But it takes a community...
Containers are portable. The active management framework must be portable too:
• Run on your development machine.
• Run on your cloud.
• Run on Google Cloud Platform.
• Run a different provider or your own hardware.
And it must be enterprise grade.
The community is working to create a framework that runs well
everywhere: Kubernetes
Microsoft, IBM, Red Hat, Docker, Mesosphere, SaltStack, and
CoreOS, have joined the family.
Kubernetes
κυβερνήτης: Greek for “pilot” or “helmsman of a ship”
the open source cluster manager from Google
Kubernetes
Master/Scheduler
Kubernetes
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Log Roller
Web Server
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes
Master/Scheduler
Pods
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BE
BE
BE
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Too Many Pods
labels:
role: frontend
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BE
BE
BE
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Labels
labels:
role: frontend
stage: production
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BE
BE
BE
Labels
FE FE FE FE
replicas: 4
template:
...
labels:
role: frontend
stage: production
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Replica Controller
FE
replicas: 1
template:
...
labels:
role: frontend
stage: production
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Replica Controller
FE FE FE
replicas: 3
template:
...
labels:
role: frontend
stage: production
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Replica Controller
id: backend-service
port: 9000
labels:
role: backend
stage: production
Backend Service
BE BE BE BE
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Machine
Host
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Container
Agent
Kubernetes - Master/Scheduler
Service
Live Demo!Live Demo!
We’re just getting started
● Clone Kubernetes at:
https://github.com/GoogleCloudPlatform/kubernetes
● Check out container VMs at:
https://developers.google.com/compute/docs/containers
● Join the discussion on freenode:
http://webchat.freenode.net/?channels=google-containers
We’re taking lessons we’ve learned and open sourcing them
Kubernetes is our evolving effort to make cluster management
easy
We’re eager to hear from you!
1
2
3
Summary
End

More Related Content

PDF
IoT at Google Scale
PDF
Google Cloud Platform & rockPlace Big Data Event-Mar.31.2016
PDF
Google cloud big data summit master gcp big data summit la - 10-20-2015
PDF
Big data on google cloud
PPTX
Google Cloud Platform (GCP)
PPTX
TIAD : Automate everything with Google Cloud
PDF
Critical Breakthroughs and Challenges in Big Data and Analytics
PDF
Big Data and ML on Google Cloud
IoT at Google Scale
Google Cloud Platform & rockPlace Big Data Event-Mar.31.2016
Google cloud big data summit master gcp big data summit la - 10-20-2015
Big data on google cloud
Google Cloud Platform (GCP)
TIAD : Automate everything with Google Cloud
Critical Breakthroughs and Challenges in Big Data and Analytics
Big Data and ML on Google Cloud

What's hot (20)

PDF
StackEngine Demo - Docker Austin
PPTX
Google Cloud Platform: Prototype ->Production-> Planet scale
PDF
#DataUnlimited - Google Big Data Unlimited
PDF
Getting started with GCP ( Google Cloud Platform)
PDF
Google Cloud Platform for the Enterprise
PPTX
Google Cloud Platform (GCP) At a Glance
PDF
Google Cloud Platform as a Backend Solution for your Product
PDF
Google Cloud Platform Introduction - 2016Q3
PPTX
Big Data with hadoop, Spark and BigQuery (Google cloud next Extended 2017 Kar...
PPTX
Introduction to Google Cloud Services / Platforms
PPTX
Understanding cloud with Google Cloud Platform
PPTX
Google cloud
PPTX
Real-Time Analytics with MemSQL and Spark
PDF
Cloud Developer Days - BigQuery
PDF
node.js on Google Compute Engine
PDF
GCP Gaming 2016 Seoul, Korea Gaming Analytics
PDF
Cloud computing overview & Technical intro to Google Cloud
PDF
Big data in action
PDF
R, Spark, Tensorflow, H20.ai Applied to Streaming Analytics
PDF
An overview of BigQuery
StackEngine Demo - Docker Austin
Google Cloud Platform: Prototype ->Production-> Planet scale
#DataUnlimited - Google Big Data Unlimited
Getting started with GCP ( Google Cloud Platform)
Google Cloud Platform for the Enterprise
Google Cloud Platform (GCP) At a Glance
Google Cloud Platform as a Backend Solution for your Product
Google Cloud Platform Introduction - 2016Q3
Big Data with hadoop, Spark and BigQuery (Google cloud next Extended 2017 Kar...
Introduction to Google Cloud Services / Platforms
Understanding cloud with Google Cloud Platform
Google cloud
Real-Time Analytics with MemSQL and Spark
Cloud Developer Days - BigQuery
node.js on Google Compute Engine
GCP Gaming 2016 Seoul, Korea Gaming Analytics
Cloud computing overview & Technical intro to Google Cloud
Big data in action
R, Spark, Tensorflow, H20.ai Applied to Streaming Analytics
An overview of BigQuery
Ad

Similar to Containerizing the Cloud with Kubernetes and Docker (20)

PPTX
Kubernetes 101
PDF
Mattia Gandolfi - Improving utilization and portability with Containers and C...
PPTX
Kubernetes is all you need
PPTX
Adapt or Die: A Microservices Story at Google
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PDF
Are VMs Passé?
PDF
Are VM Passé?
PDF
Kubernetes: https://youtu.be/KnjnQj-FvfQ
PDF
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
PDF
Dockers and kubernetes
PPTX
GCCP JSCOE Session 2
PDF
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
PDF
Meteor South Bay Meetup - Kubernetes & Google Container Engine
PDF
Kubernetes and Hybrid Deployments
PPTX
Containers kuberenetes
PPTX
Containers kuberenetes
PDF
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
PPTX
Project Gardener - EclipseCon Europe - 2018-10-23
PDF
Cluster management with Kubernetes
PDF
Containers kuberenetes
Kubernetes 101
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Kubernetes is all you need
Adapt or Die: A Microservices Story at Google
ma-formation-en-Docker-jlklk,nknkjn.pptx
Are VMs Passé?
Are VM Passé?
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Dockers and kubernetes
GCCP JSCOE Session 2
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
Meteor South Bay Meetup - Kubernetes & Google Container Engine
Kubernetes and Hybrid Deployments
Containers kuberenetes
Containers kuberenetes
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Project Gardener - EclipseCon Europe - 2018-10-23
Cluster management with Kubernetes
Containers kuberenetes
Ad

Recently uploaded (20)

PDF
Applying Agentic AI in Enterprise Automation
PDF
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
PDF
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
PPTX
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Human Computer Interaction Miterm Lesson
PDF
Decision Optimization - From Theory to Practice
PDF
Secure Java Applications against Quantum Threats
PDF
Advancements in abstractive text summarization: a deep learning approach
PDF
TicketRoot: Event Tech Solutions Deck 2025
PDF
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
PDF
Peak of Data & AI Encore: Scalable Design & Infrastructure
PDF
Intravenous drug administration application for pediatric patients via augmen...
PDF
NewMind AI Journal Monthly Chronicles - August 2025
PPTX
maintenance powerrpoint for adaprive and preventive
PDF
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
PPTX
Information-Technology-in-Human-Society (2).pptx
PPTX
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
PDF
Technical Debt in the AI Coding Era - By Antonio Bianco
PPTX
CRM(Customer Relationship Managmnet) Presentation
Applying Agentic AI in Enterprise Automation
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
Examining Bias in AI Generated News Content.pdf
Human Computer Interaction Miterm Lesson
Decision Optimization - From Theory to Practice
Secure Java Applications against Quantum Threats
Advancements in abstractive text summarization: a deep learning approach
TicketRoot: Event Tech Solutions Deck 2025
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
Peak of Data & AI Encore: Scalable Design & Infrastructure
Intravenous drug administration application for pediatric patients via augmen...
NewMind AI Journal Monthly Chronicles - August 2025
maintenance powerrpoint for adaprive and preventive
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
Information-Technology-in-Human-Society (2).pptx
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
Technical Debt in the AI Coding Era - By Antonio Bianco
CRM(Customer Relationship Managmnet) Presentation

Containerizing the Cloud with Kubernetes and Docker