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
180
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CoreOS @ GlueCon 2015
Brandon Philips
May 21, 2015
More Decks by Brandon Philips
See All by Brandon Philips
Node.js Workflow with Minikube and Skaffold
philips
0
300
Manage the App on Kubernetes
philips
0
370
Production Backbone Monitoring Containerized Apps
philips
0
230
KubeCon EU 2017: Dancing on the Edge of a Volcano
philips
1
870
rkt - KubeCon EU keynote - 2017
philips
1
310
FOSDEM_Keynote_2017-_.pdf
philips
0
180
Tectonic Summit Day 2 Keynote
philips
0
420
Kubernetes: Simple to Manage Anywhere (self-hosted, Tectonic upgrade demo)
philips
0
450
KubeCon Keynote 2016- Distributed Systems Simplified on Kubernetes
philips
2
590
Other Decks in Programming
See All in Programming
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
Claude Team Plan導入・ガイド
tk3fftk
0
250
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
380
5分で問診!Composer セキュリティ健康診断
codmoninc
0
780
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.4k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
460
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
170
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
120
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
2
340
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
240
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
610
継続モナドとリアクティブプログラミング
yukikurage
3
670
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
510
Docker and Python
trallard
47
4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
How GitHub (no longer) Works
holman
316
150k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Bash Introduction
62gerente
615
220k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
280
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
370
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