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
170
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
140
Large Scale Data Service as a Service
bakins
1
400
Growing Pains with Chef
bakins
0
77
Other Decks in Technology
See All in Technology
「実体」で築く共通認識: 開発現場のコミュニケーション最適化 / Let's Get on the Same Page with Concrete Artifacts: Optimization of Communication in dev teams
kazizi55
0
150
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
2
350
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.8k
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.9k
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
240
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
420
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
240
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
vLLM meetup Tokyo
jpishikawa
1
240
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
5
1.8k
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
220
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Practical Orchestrator
shlominoach
188
11k
Visualization
eitanlees
146
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Music & Morning Musume
bryan
46
6.6k
Adopting Sorbet at Scale
ufuk
77
9.4k
Scaling GitHub
holman
459
140k
For a Future-Friendly Web
brad_frost
179
9.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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