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
fleet @ LinuxCon US 2014
Search
Brandon Philips
August 28, 2014
Technology
91
1
Share
fleet @ LinuxCon US 2014
Brandon Philips
August 28, 2014
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 Technology
See All in Technology
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1.2k
AI と創る新たな世界 / A New World Created with AI
ks91
PRO
0
110
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.5k
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
180
EventBridge Connection
_kensh
3
490
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
480
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
220
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.5k
Unlocking the Apps
pimterry
0
230
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
260
Claude code Orchestra
ozakiomumkj
3
960
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
51k
Docker and Python
trallard
47
3.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
A Tale of Four Properties
chriscoyier
163
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Raft: Consensus for Rubyists
vanstee
141
7.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Transcript
fleet systemd for clusters @coreoslinux
About Me CTO/CO-FOUNDER systems engineer @brandonphilips github.com/philips
None
what are we all doing? clusters
systemd configure, execute, monitor
# cat myservice.service [Service] ExecStart=/usr/bin/myservice # systemctl start myservice.service
# cat myservice.service [Service] ExecStart=/usr/bin/myservice
# cat myservice.service [Service] Environment=”PASSWORD=123” ExecStart=/usr/bin/myservice
# cat myservice.service [Service] Environment=”PASSWORD=123” ExecStart=/usr/bin/myservice CPUShares=512 MemoryLimit=1G
# cat myservice.service [Unit] Description=My Awesome Service [Service] Environment=”PASSWORD=123” ExecStart=/usr/bin/myservice
CPUShares=512 MemoryLimit=1G
configuration env variables current working directory users and groups cgroups
namespaces CPU affinity dependencies seccomp filters resources limits
whats the process doing? monitoring
github.com/coreos/go-systemd
cluster schedulers how do they work?
Warning: advanced graphics ahead
SCHEDULE - Task 1 - Task 2 - Task 3
Scheduler API
Machine A Machine B Machine C Task 1 SCHEDULE -
Task 1 - Task 2 - Task 3 Scheduler
Machine A Machine B SCHEDULE - Task 1 - Task
2 - Task 3 Scheduler
Machine A Machine B Task 1 SCHEDULE - Task 1
- Task 2 - Task 3 Scheduler
Scheduler Agent Machine C Task 1 systemd
etcd holder of global state
etcd
/etc distributed
open source software highly available and reliable sequentially consistent watchable
exposed via HTTP runtime reconfigurable
-X GET Get Wait -X PUT Put Create CAS -X
DELETE Delete CAD
Available
Available
Available
Unavailable
demo!
don’t lose stuff conclusion
make atomic changes conclusion
fleet scheduler & agent
# cat myservice.service [Service] ExecStart=/usr/bin/myservice # systemctl start myservice.service
# cat myservice.service [Service] ExecStart=/usr/bin/myservice # fleetctl start myservice.service
demo!
fleet engine take global state & schedule
Machine A Machine B Machine C Task 1 SCHEDULE -
Task 1 - Task 2 - Task 3 Scheduler
machine with this tag require
same machine as this require
this specific machine require
# cat myservice.service [Service] ExecStart=/usr/bin/myservice [X-Fleet] X-Conflicts=notmyservice.service # fleetctl start
myservice.service
fleet agent run schedule & report state
Scheduler Agent Machine C Task 1 systemd
demo!
service discovery where is this stuff running?
do it yourself registration
get some help registration
None
None
fleetctl and API control remotely
demo!
future work
None