Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
etcd @ ContainerCon 2015
Search
Brandon Philips
August 18, 2015
Programming
1
85
etcd @ ContainerCon 2015
Brandon Philips
August 18, 2015
Tweet
Share
More Decks by Brandon Philips
See All by Brandon Philips
Node.js Workflow with Minikube and Skaffold
philips
0
270
Manage the App on Kubernetes
philips
0
350
Production Backbone Monitoring Containerized Apps
philips
0
200
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
790
rkt - KubeCon EU keynote - 2017
philips
1
280
FOSDEM_Keynote_2017-_.pdf
philips
0
150
Tectonic Summit Day 2 Keynote
philips
0
370
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
420
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
570
Other Decks in Programming
See All in Programming
tparseでgo testの出力を見やすくする
utgwkk
2
310
Cap'n Webについて
yusukebe
0
150
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
690
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
430
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
540
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
140
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
910
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
220
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
Cell-Based Architecture
larchanjo
0
150
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
1
35
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
970
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Claude Code のすすめ
schroneko
67
210k
What's in a price? How to price your products and services
michaelherold
246
13k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
78
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Transcript
@brandonphilips @coreoslinux
About Me CTO/CO-FOUNDER systems engineer @brandonphilips github.com/philips
@coreoslinux
ORIGINAL PHOTO (CC) BY IAN KLUFT @tectonicstack
https://github.com/philips/hacks/tree/master/etcd-demos
etcd
/etc distributed
open source software failure tolerant durable watchable exposed via HTTP
runtime reconfigurable
Data Store API -X GET Get Wait -X PUT Put
Create CAS -X DELETE Delete CAD
Leader Follower etcd Cluster
Applications locksmith
None
None
Cluster Wide Reboot Lock 1. Need reboot to reboot? Decrement
the semaphore key atomically with etcd. 2. manager.Reboot() and wait... 3. After rebooting increment the semaphore key in etcd atomically.
Applications vulcan, confd and skydns
Applications kubernetes
You Scheduler API Scheduler Machine(s)
Cluster Work Scheduling 1. Cluster API writes desired work into
etcd keyspace. 2. Agents running on individual machines pick up work assigned to them. 3. Agents report where work is running and current status.
etcd basics clusters and bootstrapping
Leader Follower etcd Cluster
Availability In a 2F+1 cluster tolerate F machine failures
Available
Available
Available
Unavailable
Master Election Fast recovery (5-10*typical RTT) from temporarily unavailable
Available Leader Follower
Leader Follower Available
Leader Follower Temporarily Unavailable
Leader Follower Available
Durable log files, snapshots and backups
bootstrapping Candidate
GET discovery.etcd.io/new
discovery.etcd.io/6eadeac2 6eadeac2d
6eadeac2d/state CREATE
6eadeac2d/state Key Value Index state started 5890 n0 10.0.2.1 5891
n1 10.0.2.4 5898 ...
bootstrapped Leader Follower
None
Introduces gRPC backed API More efficient handling of events Non-blocking
snapshots Better read performance when contention is high
Thanks we like pull requests github.com/coreos/etcd