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
evolution of container runtime : containerD (Ja...
Search
Kunal Kushwaha
June 15, 2017
Technology
0
140
evolution of container runtime : containerD (Japanese version)
Kunal Kushwaha
June 15, 2017
Tweet
Share
More Decks by Kunal Kushwaha
See All by Kunal Kushwaha
Traditional Databases in Kubernetes
kunalkushwaha
2
2k
runc init process of double fork
kunalkushwaha
1
8.5k
Managing Virtual Machines on Kubernetes
kunalkushwaha
2
2.3k
Compose on Kubernetes
kunalkushwaha
3
2.5k
Docker birthday #5 Intro
kunalkushwaha
0
980
Moby Project
kunalkushwaha
2
2.8k
Docker for Developers
kunalkushwaha
0
230
evolution of container runtime : containerD
kunalkushwaha
0
640
Containerd
kunalkushwaha
0
330
Other Decks in Technology
See All in Technology
Expertise as a Service via MCP
yodakeisuke
1
140
PdM業務における使い分け
shinshiro
0
590
P2P ではじめる WebRTC のつまづきどころ
tnoho
1
210
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
20
5.8k
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
120
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
660
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
170
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
100
Building GoReleaser - from shell script to paid product
caarlos0
0
270
スプリントゴール未達症候群に送る処方箋
kakehashi
PRO
1
190
FAST導入1年間のふりかえり〜現実を直視し、さらなる進化を求めて〜 / Review of the first year of FAST implementation
wooootack
1
120
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
3
1.6k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Designing for humans not robots
tammielis
253
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
We Have a Design System, Now What?
morganepeng
53
7.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Facilitating Awesome Meetings
lara
54
6.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
282
13k
Scaling GitHub
holman
461
140k
Transcript
Evolution of Container Runtime コンテナ・ランタイムの進化 Kunal Kushwaha @kunalkushwaha container
コンテナ・ランタイム コンテナをホスト上で管理するために、中心となる基本構成要素 • コンテナの実行と管理(supervision) • イメージの配布 • ネットワーク・インターフェースと管理 • ローカル・ストレージ
• ネイティブに組み込まれたAPI
Docker より前の時代 - Linux VServer 2002 - OpenVZ 2005 -
FreeBSD Jails 2005 - Solaris Containers. 2005 - LXC 2008 - エンドユーザはシステム管理者 - 分離した環境におけるプロセス実行に集中
Docker - 2013年3月に初リリース - コンテナ実行エンジンとして出発 - アプリケーションと依存性のパッケージに集中 - 階層化の手法を使いアプリケーションをスマートにパッケージ化することで、イメージ 間の共有が可能に
- コンテナの作成にあたり、AUFSで効率的に階層化したイメージを扱う - エンドユーザは開発者とQA(品質管理) - 集中しているのは - アプリケーションのパッケージ化 - 異なったマシン/環境間でアプリケーションの再作成や共有 - 開発・QA 環境における、時間と領域の節約
Dockerの台頭 - 主なプラットフォーム全てに移植 - AUFS のみならず、devicemapper、 btrfs、 overlayfs、 zfs 等
- イメージのセキュリティ - コンテント・アドレッサブル・ストレージ (CAS)を docker v1.10 で導入 - 更なる機能 - イメージ構築、セキュリティ - 後方互換性 - 技術的負債? - エコシステム - ネットワーク、ストレージ、ログ記録、オー ケストレータのソリューション
思想(方向性)の対立 - Docker はデーモンであるべき - Docker イメージの形式 - 標準の docker
ワークフロー (dockerhub) - Docker 1.12 (Swarmモード) Noooooo 好きじゃない人達がいる!!
None
Containerd プロジェクト • 2015年11月にスタートした、OCI ランタイムの runc を制御するため • 2016年の 1.11
までコンテナのランタイムとして Docker が使っていた • 2016年12月に新しい作業領域(スコープ)のもとで再スタート • 現在の Docker は 0.2.x 系のブランチを使用 • 新しい成果が反映されるのは 1.0 master ブランチから 新しい作業領域すべてを CNCF に寄贈
“containerd is designed to be embedded into a larger system,
rather than being used directly by developers or end-users. containerd will serve as a core container runtime for the CNCF ecosystem.” (containerdは、開発者やエンドユーザが直接使うので はなく、より大きなシステムに組み込めるよう設計されて います。containerdはCNCFエコシステムの中心となる コンテナ・ランタイムになります。)
エコシステムにおける Containerd の役割 Ecosystem
つまり、Containerd は Docker を抽出したもの? - Dockerの複雑さを修正したシンプルな設計 - 狭い領域に集中する小さな構成要素(コンポーネント) - すべてのサービスに対する
GRPC インターフェース - 長期運用における安定性 - OCI イメージとランタイムのサポート - マルチテナンシー(名前空間)のサポート - ポータブル(移植性) - 領域を限定 - ネットワークを扱わない - ボリュームを扱わない - 構築を扱わない - ログを扱わない • Containerd サービス ◦ 中身 ◦ イメージ ◦ ルートファイルシステム ◦ 実行 ◦ Shim(詰め木) ちがいます! Containerd は進化であり、作り直しではありません
Containerd アーキテクチャ
ストレージ・アーキテクチャ Docker Containerd dist ctr Config Rootfs(mounts)
Containerdの利点 - シンプルで進化した設計 - 簡単に貢献できる - 簡単にメンテナンスできる - OCI 仕様に対応した設計
- コミュニティによって承認されたコンテナ向けスタンダード(標準) - ロックイン無し - プラグイン・アーキテクチャ - 簡単に拡張 - 限定的な領域 - 合意を得た機能のみ - 望まれていない機能が膨張しない - マルチテナンシー (名前空間) - 同一ホスト上で複数のオーケストレータを干渉せずに実行
私は Containerd プロジェクトの対象? - Docker / Kubernetes のエンドユーザ - いいえ。ほとんど同様に使えます。変更は間接的なものであり、おそらく気づかないでしょう。
- Cloud プロバイダ - はい。containerd との直接統合により、コンテナ・サービスを構築できます。 - Docker を使いますが、高度な機能は使わない場合 - いいえ。問題はありません。 - もしかしたら、対象です。それは、明確に欲しいものが何かわかっており、 Containerd上で使おうとす る場合です。 - Docker コンテナと一緒にカスタム・コンテナを実行する場合 - はい、名前空間機能の使用とカスタムコンテナの実行が、安全かつ簡単になります。
Containerd の現状 - 1.0 向け機能実装が今月末(6月)に完了 - 結合テストが計画中 - Containerd 向けの
Kubernetes CRI - https://github.com/kubernetes-incubator/cri-containerd - AWS 統合 - https://github.com/samuelkarp/amazon-ecs-agent/tree/containerd - ベンチマーク/ストレス・テスト - https://github.com/estesp/bucketbench
プロジェクトへのs中 - Slack - github.com/containerd/containerd - #containerd (dockercommunity.slack.com) - #japanese
- 参加して日本語で議論しましょう - 毎週の開発レポート : - https://github.com/containerd/containerd/tree/master/reports - Twitter でフォロー - @containerd
ありがとう Thanks