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
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
280
Manage the App on Kubernetes
philips
0
360
Production Backbone Monitoring Containerized Apps
philips
0
210
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
810
rkt - KubeCon EU keynote - 2017
philips
1
290
FOSDEM_Keynote_2017-_.pdf
philips
0
150
Tectonic Summit Day 2 Keynote
philips
0
380
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
Package Management Learnings from Homebrew
mikemcquaid
0
210
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
6k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
610
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Implementation Patterns
denyspoltorak
0
280
AI & Enginnering
codelynx
0
110
ぼくの開発環境2026
yuzneri
0
110
2026年 エンジニアリング自己学習法
yumechi
0
130
CSC307 Lecture 07
javiergs
PRO
0
550
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
680
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The Cult of Friendly URLs
andyhume
79
6.8k
The Curious Case for Waylosing
cassininazir
0
230
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Fireside Chat
paigeccino
41
3.8k
For a Future-Friendly Web
brad_frost
182
10k
Skip the Path - Find Your Career Trail
mkilby
0
53
HDC tutorial
michielstock
1
360
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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