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 @Railscamp
Search
Timo Derstappen
September 30, 2014
Technology
1
120
CoreOS @Railscamp
CoreOS tools and concepts
Timo Derstappen
September 30, 2014
Tweet
Share
More Decks by Timo Derstappen
See All by Timo Derstappen
Automating Kubernetes Cluster Operations with Operators
teemow
0
91
Automating Kubernetes Cluster Operations with Operators
teemow
0
130
Microservices Docker @Bonn Agile
teemow
2
120
CoreOS @Codetalks
teemow
2
110
Other Decks in Technology
See All in Technology
AIチャットボット開発への生成AI活用
ryomrt
0
170
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Lambdaと地方とコミュニティ
miu_crescent
2
370
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
120
複雑なState管理からの脱却
sansantech
PRO
1
150
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
200
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
50
7.2k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Automating Front-end Workflow
addyosmani
1366
200k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Designing for humans not robots
tammielis
250
25k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
What's in a price? How to price your products and services
michaelherold
243
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
Timo Derstappen Co-Founder giantswarm.io @teemow
• Minimal Linux to run your containers • Automatic Updates
• Cluster Management • Service Discovery What is CoreOS?
Linux Basis • Based on Gentoo • Images for PXE,
OpenStack, AWS, GCE, Vagrant • Systemd, btrfs • Read-only rootfs (writable overlay)
CoreOS own tools • Etcd • Fleet • Locksmith •
Cloud-config • Flannel github.com/coreos
Etcd • Key/Value store • Basis for ◦ Configuration management
◦ Service Discovery • Raft consensus algorithm • REST Interface
Discovery API > curl https://discovery.etcd.io/new https://discovery.etcd. io/463c1435f9f63c952e0899b1f459c0fe
Cloud Config • Initialization of your instances • Configure etcd,
fleet, locksmith • YAML file • eg. EC2 user data
Configure your cluster #cloud-config coreos: etcd: discovery: https://discovery.etcd.io/<token> addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
Locksmith • Reboot strategies for CoreOS updates • Uses etcd
for distributed locks • Alpha, Beta, Stable channels
Flannel • Overlay networks backed by etcd • Encapsulate packets
in UDP • VXLAN implementation coming
Fleet • Fleet is systemd for the cluster • Uses
etcd • CLI and API to start your containers
Fleet Scheduler • Simple (eg. based on Metadata) • But
resolves service dependencies! • More to come (eg. based on available resources)
Unit file [Unit] Description=A Redis Server [Service] TimeoutStartSec=0 EnvironmentFile=/etc/environment Environment="IMAGE=teemow/redis"
ExecStartPre=/usr/bin/docker pull $IMAGE ExecStart=/bin/bash -c "exec /usr/bin/docker run --rm -p $COREOS_PRIVATE_IPV4::6379 --name %n $IMAGE" ExecStop=/usr/bin/docker stop %n
Manage a service fleetctl start redis.service fleetctl list-units fleetctl status
redis.service fleetctl journal redis.service fleetctl stop redis.service fleetctl destroy redis.service
Release it! • Load Balancer • App • Database
Sidekick • Keep configuration out of your app
Ambassador • Reverse proxy for your service • Keep service
discovery out of your app
CoreOS • Great foundation to create flexible distributed infrastructures •
Unix philosophy
Kubernetes • Google Container Orchestration • Runs on top of
CoreOS
Kubernetes Master kubecfg Minion 1 Minion 2
Kubernetes Minion Internet Master kubelet service Etcd
cAdvisor • Monitoring for your containers • Collects, aggregates and
processes metrics • InfluxDB Backend • Monitoring of clusters with Heapster
Deis • Open Source PaaS • used Heroku build packs
• now recommends Docker-native builds
Panamax • Web interface to start multi container apps •
App Templates on Github • Open Source project from CenturyLink Labs
• Simple Service Orchestration • Based in Cologne, Germany •
Built on top of CoreOS http://giantswarm.io Giant Swarm
Timo Derstappen @teemow http://giantswarm.io Thanks for listening!