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
1
88
fleet @ LinuxCon US 2014
Brandon Philips
August 28, 2014
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 Technology
See All in Technology
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
190
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
600
Meshy Proプラン課金した
henjin0
0
250
Webhook best practices for rock solid and resilient deployments
glaforge
1
270
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
150
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.8k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.2k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
430
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
3
150
プロポーザルに込める段取り八分
shoheimitani
1
170
Featured
See All Featured
Fireside Chat
paigeccino
41
3.8k
ラッコキーワード サービス紹介資料
rakko
1
2.2M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
Designing for Performance
lara
610
70k
Done Done
chrislema
186
16k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
97
Context Engineering - Making Every Token Count
addyosmani
9
650
Build your cross-platform service in a week with App Engine
jlugia
234
18k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
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