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
1.9k
runc init process of double fork
kunalkushwaha
1
8.3k
Managing Virtual Machines on Kubernetes
kunalkushwaha
2
2.3k
Compose on Kubernetes
kunalkushwaha
3
2.5k
Docker birthday #5 Intro
kunalkushwaha
0
940
Moby Project
kunalkushwaha
2
2.7k
Docker for Developers
kunalkushwaha
0
220
evolution of container runtime : containerD
kunalkushwaha
0
610
Containerd
kunalkushwaha
0
300
Other Decks in Technology
See All in Technology
クラウドサービス事業者におけるOSS
tagomoris
1
780
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.4k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
370
2.5Dモデルのすべて
yu4u
2
860
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
720
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
プロセス改善による品質向上事例
tomasagi
2
2.6k
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
RSNA2024振り返り
nanachi
0
580
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Statistics for Hackers
jakevdp
797
220k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
GraphQLとの向き合い方2022年版
quramy
44
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Faster Mobile Websites
deanohume
306
31k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Reviewing Like a Champion
maltzj
521
39k
Building an army of robots
kneath
303
45k
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