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
78
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
230
Manage the App on Kubernetes
philips
0
320
Production Backbone Monitoring Containerized Apps
philips
0
130
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
640
rkt - KubeCon EU keynote - 2017
philips
1
240
FOSDEM_Keynote_2017-_.pdf
philips
0
98
Tectonic Summit Day 2 Keynote
philips
0
310
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
320
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
530
Other Decks in Programming
See All in Programming
楽しく向き合う例外対応
okutsu
0
720
sappoRo.R #12 初心者セッション
kosugitti
0
280
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
バッチを作らなきゃとなったときに考えること
irof
2
550
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.6k
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
740
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
230
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
650
Swift Testingのモチベを上げたい
stoticdev
2
170
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Adaptive Systems
keathley
40
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Designing for Performance
lara
605
68k
Six Lessons from altMBA
skipperchong
27
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Code Review Best Practice
trishagee
67
18k
Speed Design
sergeychernyshev
27
810
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
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