Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Real-World Kubernetes Deployments @ OSCON 2016
Search
Brandon Philips
May 16, 2016
Programming
710
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Real-World Kubernetes Deployments @ OSCON 2016
Brandon Philips
May 16, 2016
More Decks by Brandon Philips
See All by Brandon Philips
Node.js Workflow with Minikube and Skaffold
philips
0
310
Manage the App on Kubernetes
philips
0
390
Production Backbone Monitoring Containerized Apps
philips
0
250
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
900
rkt - KubeCon EU keynote - 2017
philips
1
330
FOSDEM_Keynote_2017-_.pdf
philips
0
190
Tectonic Summit Day 2 Keynote
philips
0
430
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
460
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
600
Other Decks in Programming
See All in Programming
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
150
AI-Powered Domain-Driven Design
ziobrando
0
280
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
330
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
150
Domain-Driven Transformation
hschwentner
2
2.3k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
830
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Simple Storage Service(S3) is not simple
iwatsukayura
0
320
パスワード再設定メールのURLについて知っておこう
uyuki234
0
180
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
100
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
気持ちぃ〜角丸 Squircle
ryu1013
0
330
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
How to Ace a Technical Interview
jacobian
280
24k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Practical Orchestrator
shlominoach
192
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
750
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Building AI with AI
inesmontani
PRO
1
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Transcript
Real World Kubernetes Deployments failure domains, upgrades, high-availability @coreoslinux @brandonphilips
Follow Along Instructions http://bit.ly/1XeUbMW Stickers Upfront Decorate your laptop, dog,
kid, phone.
Brandon Philips CTO, CoreOS github.com/philips
None
Build, Store and Distribute your Containers quay.io
Linux
Secure the Internet MISSION
Separate Apps from OS STRATEGY
Make Servers Consistent STRATEGY
Tolerate Machine Failures STRATEGY
Make Servers Easy to Upgrade STRATEGY
Simplify Application Upgrades STRATEGY
None
None
None
None
None
Application Packaging 1
Abstract away app from the OS OS App
None
None
Linux at Scale 2
Patches to the OS and kernel are hard Retest after
updates No automation SECURITY Dependency breakage Uptime risk APPLICATION
None
Auto-updating browsers fixed security We got HTML5 at the same
time
Clustering 3
Operations Paradise Easy scale out Painless app upgrades Tolerant of
machine failure
App Req/sec: 6,000 App Healthy: True
App Req/sec: 6,000 App Healthy: True
App Req/sec: 7,000 App Healthy: True
App Req/sec: 8,000 App Healthy: True
App Req/sec: 7,000 App Healthy: True
App Req/sec: 6,000 App Healthy: True
App Req/sec: 8,000 App Healthy: True
App Req/sec: 7,000 App Healthy: True
App Req/sec: 8,000 App Healthy: True
App Req/sec: 8,000 App Healthy: True
3 Application packaging Clustering Linux at scale
3 Application packaging Clustering Linux at scale
Follow Along Instructions https://github.com/philips/repositories 2016-OSCON-containers-at-scale
CoreOS+Kubernetes vagrant, aws, bare metal, etc coreos.com/kubernetes/docs/latest/
kubernetes architecture in practice
worker kubelet worker kubelet worker kubelet scheduler & API worker
kubelet w ku t worker kubelet
worker kubelet worker kubelet scheduler & API
worker & API works on 1 node too
kube-aws Initial Cluster Setup
worker kubelet worker kubelet controller scheduler, etcd & API
Demo Boot up a Cluster
Demo Run an App
Demo Understand the Network
Domains Let's Talk About Failure
Failure domains are regions or components of the infrastructure which
contain a potential for failure.
These regions can be physical or logical boundaries, and each
has its own risks and challenges to architect for.
Failure Feud - Machine Failure - Network/Disks/RAM/Processor/Power Supply - Rack
Failure - Network/Power - Data Center Failure - Network/Power/Fire/Semi-trucks - Internet Failure - Network/Political/Natural
Failure Analysis Kid Celebrating
None
Kid Hitting His Eye Failure Analysis - Failure is caused
by human error - Celebration continues; eye unnecessary - Kid has two eyes can continue seeing - Brain elects new eye automatically
Primary Datastore etcd operations
/etc distributed hence, the name...
a clustered key-value store GET and SET operations
a building block for higher order systems primitives for building
reliable distributed systems
Demo play.etcd.io
None
None
None
None
None
None
None
Failure Analysis etcd
worker kubelet worker kubelet scheduler & API
kube-aws high availability in cloud
scheduler & API EBS { ASG
etcd protects against - Machine Failure - Replication, automatic leader
election - Flakey Disk Failure - CRC checksums on WAL files - Network Failure - Timeouts and linearized state machine
etcd does not protect against - Denial of Service -
Future work on proxies - Lying etcd Peers - We do a ton of functional testing a hedge - Buggy or Broken Clients - Client deleting all keys requires restore from backup
Demo etcd restore backup
1 2 3 4 { Log
1 2 3 4 Entries
1 2 3 4 Indexes
Kubernetes Control API Service, Scheduler, Controller Manager
Failure Analysis Kubernetes
Demo etcd down for API server
worker kubelet worker kubelet scheduler & API
scheduler & API
Demo etcd restore for API server
scheduler & API
Demo node partition from API
worker kubelet worker kubelet scheduler & API
Demo node scaling up
worker kubelet worker kubelet scheduler & API worker kubelet
Demo node scheduled outage API
worker kubelet worker kubelet scheduler & API
Demo node unplanned outage
worker kubelet worker kubelet scheduler & API
Demo node downgrade/upgrade outage
worker kubelet worker kubelet scheduler & API
Future Work Upstream Kubernetes and Elsewhere
Upstream rktnetes Auth/OIDC Node self-signed TLS
Scaling 15x scheduler performance 30k pods on 1k nodes SIG-scale
Automatic Node Drain Locksmith Design Doc
None
Performance etcd3 /ZooKeeper snapshot disabled
Performance etcd3 /ZooKeeper snapshot disabled
Memory 10GB 2.4GB 0.8GB 512MB data - 2M 256B keys
Sounds good, but... Is anyone successful with all this in
prod?
Publically traded options exchange
Containers on CoreOS are powering ISE's high- throughput, low-latency financial
exchange Running in production Bare metal & AWS Billions of transactions a day 150 million req/sec
None
Secure the Internet MISSION
Separate Apps from OS STRATEGY
Make Servers Consistent STRATEGY
Tolerate Machine Failures STRATEGY
Make Servers Easy to Upgrade STRATEGY
Simplify Application Upgrades STRATEGY
None
Thank you! Brandon Philips @brandonphilips |
[email protected]
| coreos.com We’re
hiring in all departments! Email:
[email protected]
Positions: coreos.com/ careers