Kubernetes対応コンテナランタイム「containerd 1.1」正式リリース。CRIにネイティブ対応し、Dockerより軽量で高速な動作を実現

2018年5月28日

コンテナ型仮想化を実現するDockerは、その内部にコンテナランタイムとしてcontainerdと呼ばれるソフトウェアを内蔵しています。

このcontainerdはもともとDocker社によって開発されてきましたが、標準的なランタイム実装を実現するために、Docker社から中立的な団体であるCloud Native Computing Foundationに(CNCF)に、2017年3月に寄贈されました。

containerdは現在もDocker内部のランタイムとして使われています。事実上の標準コンテナランタイムといえます。

そのcontainerdのバージョン1.1が正式にリリースされ、Kubernetesにネイティブに対応したことが発表されました

containerd 1.1はCRIにネイティブ対応

一般にKubernetesで構築するクラスタでは、Dockerを用いてコンテナを実行します。このとき、KubernetesとDockerのあいだでは、Kubernetesで標準化されたAPIであるCRI(Container Runtime Interface)によってやりとりが行われます。

ただしDockerは現時点でCRIにネイティブには対応していないため、KubernetsとDockerは「dockershim」と呼ばれるブリッジを介してやりとりが行われています。

containerd 1.1 fig1

2017年12月にCNCFの下でバージョン1.0に到達したcontainerdは、Kubernetesへの対応も進められていましたが、バージョン1.0の段階ではcontainerdもCRIにネイティブには対応しておらず、Kubenretesでコンテナランタイムとしてcontainerdを使う場合には、CRI-Containerdをブリッジとしていました。

containerd 1.1 fig2

そして今回正式版としてリリースされたされたcontainerd 1.1では、containerdにCRIプラグインが組み込まれたことで、CRIにネイティブに対応。直接Kubernetesとやりとりできるようになりました。

containerd 1.1 fig3

containerd 1.1では使用メモリもCPU負荷もより小さく

Kubernetesにネイティブに統合可能なcontainerdは、ブリッジで連係するDockerと比較するとより軽量で動作も高速になっていることがCNCFによって示されました。

下記はCPUへの負荷を示したグラフです。赤いマーカーで示されたcontainerd 1.1利用時のほうが、kubernetes側、コンテナランタイム側のいずれもCPU負荷が低くなっています。

containerd 1.1 fig4

メモリ消費量に関しても同様で、赤いマーカーで示されたcontainerdのほうがメモリ使用量が小さくなっていることが分かります。

containerd 1.1 fig5

次期Dockerにはcontainerd 1.1搭載へ

containerdがKubernetesとネイティブにやりとりできるようになるからといって、Dockerが不要になるわけではありません。Dockerコマンドなどを用いたコンテナイメージのさまざまな操作を行うには、コンテナランタイムとなるcontainerdだけでは足りないからです。

そしてDockerがcontainerdを含むということは、当然、次のバージョンのDockerにはこのcontainerd 1.1が搭載される見通しとなっています。これによって、DockerとKubernetesを組み合わせた場合にもKubernetesとcontaneridはCRIを通じて直接やりとりすることになり、軽量な実装の利点を得ることが可能になります。

containerd 1.1 fig6

参考

関連記事

あわせて読みたい

Docker Kubernetes コンテナ型仮想化




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本