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
CoreOS Overview
Search
Brian Akins
May 20, 2015
Technology
2
180
CoreOS Overview
Brian Akins
May 20, 2015
Tweet
Share
More Decks by Brian Akins
See All by Brian Akins
Scaling For Planned Events
bakins
3
150
Large Scale Data Service as a Service
bakins
1
410
Growing Pains with Chef
bakins
0
91
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
410
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
440
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.3k
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
300
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
820
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
760
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
140
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
My Coaching Mixtape
mlcsv
0
46
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Practical Orchestrator
shlominoach
191
11k
Amusing Abliteration
ianozsvald
0
96
For a Future-Friendly Web
brad_frost
182
10k
Deep Space Network (abreviated)
tonyrice
0
47
GraphQLとの向き合い方2022年版
quramy
50
14k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
Transcript
None
About Me Architect CoreOS @bakins github.com/bakins
None
Why build CoreOS?
run and isolate apps containers
what is it exactly? containers
libc python django app.py
$ /usr/bin/python run app.py
libc python django app.py
libc python django app.py example.com/myapp
$ container fetch example.com/myapp $ container run example.com/myapp
pid ns isolated pid 1
user ns isolated uid 0
network ns isolated netdev
mount ns isolated /
cgroups manage resources
cgroups count resources
cgroups limit resources
docker engine
None
google lmctfy cloud foundry garden mesos containers lxc systemd-nspawn
how are they created? containers
None
super-powers containers
App independence from the OS. System to get container to
the server. Resource isolation between apps.
reduced API contracts OS
kernel systemd etcd ssh docker python java nginx mysql openssl
app distro distro distro distro distro distro distr
None
python java nginx mysql openssl app distro distro distro distro
distro distro distr kernel systemd etcd ssh docker
python openssl-A app1 distro distro distro distro distro distro distr
java openssl-B app2 java openssl-B app3 kernel systemd etcd ssh docker
manual updates
automatic updates
automatic updates
atomic with rollback auto updates
None
None
super-powers OS
Opportunity for automatic updates. Consistent set of software across hosts.
Base OS independent from app.
Slight Detour cloud-init ignition toolbox
design for host failure clustering
None
/etc distributed
open source software sequentially consistent exposed via HTTP runtime reconfigurable
-X GET Get Wait -X PUT Put Create CAS -X
DELETE Delete CAD
Available
Available
Available
Unavailable
Available Leader Follower
Leader Follower Available
Leader Follower Temporarily Unavailable
Leader Follower Available
super-powers etcd
Share configuration data across hosts. Resilient to host failures. Designed
for consistency across hosts.
getting work to servers scheduling
You Scheduler API Scheduler Machine(s)
$ cat foo.service [Service] ExecStart=/usr/bin/sleep 500 $ fleetctl start foo.service
Job foo.service launched on e1cd2bcd.../172.17.8.101
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
while true { todo = diff(desState, curState) schedule(todo) }
fleet mesos kubernetes swarm job scheduling
locksmith coordination
super-powers scheduling
Think about app capacity first. Take advantage of compute resources.
Build for resilience to host failure.
skydns, discoverd, confd service discovery
magic proxies service discovery
overlay network
OS Containers Cluster Configuration Job Scheduling Service Discovery
None
Kubernetes Namespaces Containers Pods Replication Controllers Label Queries Services
None