Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
evolution of container runtime : containerD (Ja...
Search
Kunal Kushwaha
June 15, 2017
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
evolution of container runtime : containerD (Japanese version)
Kunal Kushwaha
June 15, 2017
More Decks by Kunal Kushwaha
See All by Kunal Kushwaha
Traditional Databases in Kubernetes
kunalkushwaha
2
2.1k
runc init process of double fork
kunalkushwaha
2
8.9k
Managing Virtual Machines on Kubernetes
kunalkushwaha
2
2.5k
Compose on Kubernetes
kunalkushwaha
3
2.6k
Docker birthday #5 Intro
kunalkushwaha
0
1.1k
Moby Project
kunalkushwaha
2
3.1k
Docker for Developers
kunalkushwaha
0
280
evolution of container runtime : containerD
kunalkushwaha
0
710
Containerd
kunalkushwaha
0
430
Other Decks in Technology
See All in Technology
Obsidian Vault Architectures
x5gtrn
PRO
0
210
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
2
1.5k
AIコーディングエージェント開発_全体像
happysamurai294
0
140
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
1
460
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
690
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
130
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
590
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
100
キヨさん67歳 AIコーディングエージェント物語
happysamurai294
0
140
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
170
新卒エンジニア、 介護士になる
ryu1013
1
580
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
110
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
900
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The browser strikes back
jonoalderson
0
1.9k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
Fireside Chat
paigeccino
43
4.1k
Music & Morning Musume
bryan
48
7.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
590
GraphQLとの向き合い方2022年版
quramy
50
15k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
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