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
82
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
260
Manage the App on Kubernetes
philips
0
340
Production Backbone Monitoring Containerized Apps
philips
0
180
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
710
rkt - KubeCon EU keynote - 2017
philips
1
270
FOSDEM_Keynote_2017-_.pdf
philips
0
130
Tectonic Summit Day 2 Keynote
philips
0
350
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
390
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
550
Other Decks in Programming
See All in Programming
iOSでSVG画像を扱う
kishikawakatsumi
0
160
Pythonに漸進的に型をつける
nealle
1
120
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
360
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
240
Software Architecture
hschwentner
6
2.3k
Google Opalで使える37のライブラリ
mickey_kubo
3
130
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
140
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
232
18k
KATA
mclloyd
PRO
32
15k
Speed Design
sergeychernyshev
32
1.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Why Our Code Smells
bkeepers
PRO
340
57k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
It's Worth the Effort
3n
187
28k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
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