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 @ GlueCon 2015
Search
Brandon Philips
May 21, 2015
Programming
2
170
CoreOS @ GlueCon 2015
Brandon Philips
May 21, 2015
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 Programming
See All in Programming
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 07
javiergs
PRO
0
550
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
730
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
組織で育むオブザーバビリティ
ryota_hnk
0
180
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
200
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
280
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
CSC307 Lecture 06
javiergs
PRO
0
690
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Paper Plane
katiecoart
PRO
0
46k
RailsConf 2023
tenderlove
30
1.3k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Testing 201, or: Great Expectations
jmmastey
46
8k
Odyssey Design
rkendrick25
PRO
1
490
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The Curse of the Amulet
leimatthew05
1
8.5k
How GitHub (no longer) Works
holman
316
140k
Building an army of robots
kneath
306
46k
Skip the Path - Find Your Career Trail
mkilby
0
56
The Limits of Empathy - UXLibs8
cassininazir
1
210
Transcript
None
About Me CTO/CO-FOUNDER systems engineer @brandonphilips github.com/philips
What is CoreOS?
What is CoreOS?
None
None
What is CoreOS?
Why build CoreOS?
reduce API contracts minimal
kernel systemd etcd ssh docker python java nginx mysql openssl
app distro distro distro distro distro distro distr
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
CoreOS python openssl-A app1 distro distro distro distro distro distro
distr java openssl-B app2 java openssl-B app3
CoreOS container distro distro distro distro distro distro distr container
container
https://github.com/philips/hacks folder: system-api-tutorial APIs
Linux syscalls API
manual updates
automatic updates
automatic updates
atomic with rollback auto updates
None
None
omaha API
None
run and isolate apps containers
http registry image fetch
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
namespaces API
cgroups API
docker engine
REST API
None
dbus API
machines and clusters configuration
get into the cluster machine conf
#cloud-config ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2E… coreos: etcd: discovery: https://discovery.etcd.io/ba09c units:
- name: etcd2.service command: start - name: fleet.service command: start
#cloud-config ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2E… coreos: etcd: discovery: https://discovery.etcd.io/ba09c units:
- name: etcd2.service command: start - name: fleet.service command: start
#cloud-config ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2E… coreos: etcd: discovery: https://discovery.etcd.io/ba09c units:
- name: etcd2.service command: start - name: fleet.service command: start
REST hypercalls filesystems API
what is running cluster conf
k8s, discoverd, confd services
what should run cluster conf
locksmith coordination
fleet, k8s scheduling
etcd API
etcd
/etc distributed
Available
Available
Available
Unavailable
Available Leader Follower
Leader Follower Available
Leader Follower Temporarily Unavailable
Leader Follower Available
http+json API
getting work to servers scheduling
You Scheduler API Scheduler Machine(s)
$ kubectl run-container my-nginx --image=nginx --replicas=1 --port=80 $ kubectl get
pods POD IP my-nginx-97wt8 10.2.29.4
http+json API
$ cat nginx.service [Service] ExecStart=/usr/bin/rkt \ docker://nginx $ fleetctl start
nginx.service Job nginx.service launched on e1cd2bcd.../172.17.8.101
http+json API
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) }
the future
None