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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Brandon Philips
August 28, 2014
Technology
88
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
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
830
rkt - KubeCon EU keynote - 2017
philips
1
300
FOSDEM_Keynote_2017-_.pdf
philips
0
160
Tectonic Summit Day 2 Keynote
philips
0
390
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
430
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
580
Other Decks in Technology
See All in Technology
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.3k
レガシーシステムをどう次世代に受け継ぐか
tachiiri
0
330
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
320
スクラムを支える内部品質の話
iij_pr
0
350
自己組織化を試される緑茶ハイを求めて、今日も全力であそんで学ぼう / Self-Organization and Shochu Green Tea
naitosatoshi
0
330
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
300
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
260
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
340
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
110
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
1k
主催・運営として"場をつくる”というアウトプットのススメ
_mossann_t
0
130
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
340
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Bash Introduction
62gerente
615
210k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
The World Runs on Bad Software
bkeepers
PRO
72
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Designing Powerful Visuals for Engaging Learning
tmiket
1
330
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