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 NYC Meetup
Search
Eugene Yakubovich
July 28, 2015
Technology
2
230
CoreOS NYC Meetup
Under the hood of Tectonic and the CoreOS ecosystem
Eugene Yakubovich
July 28, 2015
Tweet
Share
More Decks by Eugene Yakubovich
See All by Eugene Yakubovich
Container Network Interface: Network plugins for Kubernetes and beyond
eyakubovich
0
270
From network namespace to fabric overlay
eyakubovich
0
36
Other Decks in Technology
See All in Technology
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
370
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
120
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
700
OCI技術資料 : ファイル・ストレージ 概要
ocise
3
11k
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
160
ハイテク休憩
sat
PRO
2
180
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
18
5.6k
Storage Browser for Amazon S3
miu_crescent
1
300
APIとはなにか
mikanichinose
0
120
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
250
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
4
660
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Why Our Code Smells
bkeepers
PRO
335
57k
For a Future-Friendly Web
brad_frost
175
9.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Making Projects Easy
brettharned
116
6k
Adopting Sorbet at Scale
ufuk
73
9.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Side Projects
sachag
452
42k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Code Review Best Practice
trishagee
65
17k
Transcript
Eugene Yakubovich Software Developer Maintainer of flannel @eyakubovich Under the
hood of Tectonic
Under the hood of tectonic CoreOS Linux CoreOS projects (etcd,
fleet, flannel) Kubernetes Tectonic layer
What is CoreOS Linux?
kernel systemd etcd ssh docker python java nginx mysql openssl
app tro distro distro distro distro distro
kernel systemd etcd ssh docker python java nginx mysql openssl
app tro distro distro distro distro distro
tro distro distro distro distro distro python openssl-A app1 java
openssl-B app2 java openssl-B app3 kernel systemd etcd ssh docker
tro distro distro distro distro distro python openssl-A app1 java
openssl-B app2 java openssl-B app3 CoreOS
tro distro distro distro distro distro CoreOS container container container
atomic with rollback auto updates
None
None
None
None
PUT /v2/keys/foo HTTP/1.1 value=bar
GET /v2/keys/foo HTTP/1.1 {“node”: {“value”: “bar”}}
Fault Tolerant Distributed K/V Store
fleet
None
None
None
10.0.16.0/24 10.0.24.0/24 10.0.71.0/24
10.0.16.0/24 10.0.24.0/24 10.0.71.0/24 10.0.16.2 10.0.24.3
None
$ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0
rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB openpgp: signature made by unknown entity
$ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0
rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB openpgp: signature made by unknown entity $ rkt trust --prefix example.com/app https://example.com/pubkeys.gpg Prefix: "example.com/app" Key: "https://example.com/pubkeys.gpg" GPG key fingerprint is: 8B86 DE38 890D DB72 9186 7B02 5210 BD88 8818 2190 ACI Builder <
[email protected]
> Are you sure you want to trust this key (yes/no)? yes Trusting "https://example.com/pubkeys.gpg" for prefix "example.com/app". Added key for prefix "example.com/app" at "/etc/rkt/trustedkeys/prefix. d/example.com/app/8b86de38890ddb7291867b025210bd8888182190"
$ rkt trust --prefix example.com/app https://example.com/pubkeys.gpg Prefix: "example.com/app" Key: "https://example.com/pubkeys.gpg"
GPG key fingerprint is: 8B86 DE38 890D DB72 9186 7B02 5210 BD88 8818 2190 ACI Builder <
[email protected]
> Are you sure you want to trust this key (yes/no)? yes Trusting "https://example.com/pubkeys.gpg" for prefix "example.com/app". Added key for prefix "example.com/app" at "/etc/rkt/trustedkeys/prefix. d/example.com/app/8b86de38890ddb7291867b025210bd8888182190" $ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0 rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB rkt: signature verified: ACI Builder <
[email protected]
>
[Service] ExecStart = /usr/bin/rkt run --inherit-env example.com/app:v2.0.0 Restart = always
CPUShares = 512 MemoryLimit = 1G Environment = HTTP_PROXY=192.0.2.3:5000 Environment = STORAGE_PATH=/opt/app Environment = TMPDIR=/var/tmp
None
None
Replication Controller x 4
kube-apiserver kube-controller-manager kube-scheduler kube-kubelet kube-proxy kube-kubelet kube-proxy
HOW-TO /GoogleCloudPlatform /kubernetes /tree /master /docs /getting-started-guides /coreos
Boot up master ◦ Start a CoreOS image ◦ Bring
up etcd ◦ Configure and bring up flannel ◦ Download and start ➢ kube-apiserver ➢ kube-controller-manager ➢ kube-scheduler
Boot up workers ◦ Bring up etcd proxy ◦ Download
and bring up ➢ kube-proxy ➢ kubelet
None
fleet deploy { } run kube-* CoreOS Linux + etcd
+ flannel
Workers talk to control cluster via proxy
None
Questions? Sign up for Tectonic at tectonic.com