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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Brandon Philips
August 18, 2015
Programming
88
1
Share
etcd @ ContainerCon 2015
Brandon Philips
August 18, 2015
More Decks by Brandon Philips
See All by Brandon Philips
Node.js Workflow with Minikube and Skaffold
philips
0
290
Manage the App on Kubernetes
philips
0
370
Production Backbone Monitoring Containerized Apps
philips
0
230
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
850
rkt - KubeCon EU keynote - 2017
philips
1
300
FOSDEM_Keynote_2017-_.pdf
philips
0
170
Tectonic Summit Day 2 Keynote
philips
0
410
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
440
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
580
Other Decks in Programming
See All in Programming
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Oxcを導入して開発体験が向上した話
yug1224
4
290
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
240
Modding RubyKaigi for Myself
yui_knk
0
890
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
150
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
140
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
540
今さら聞けないCancellationToken
htkym
0
220
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
830
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
Claspは野良GASの夢をみるか
takter00
0
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
320
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
エンジニアに許された特別な時間の終わり
watany
107
250k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Agile that works and the tools we love
rasmusluckow
331
21k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Paper Plane
katiecoart
PRO
1
51k
Fireside Chat
paigeccino
42
3.9k
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