Kubernetes、Dockerに依存しないKubernetes用の軽量コンテナランタイム「cri-o」正式版1.0リリース

2017年10月19日

Kubernetesは、Dockerに依存しない軽量コンテナランタイム「cri-o」正式版1.0リリースした。cri-oはコンテナランタイムとしてはDockerに競合するが、コンテナイメージなどを作る機能などは備えていない。


Kubernetesに最適化された軽量なコンテナランタイム「cri-o」の正式版、「cri-o 1.0」がリリースされました

cri-o

cri-oは、Kubernetesの育成プロジェクト(Kubernetes Incubator Project)として開発されています。

Red Hatに所属するcri-oエンジニアリングチームのDaniel Walsh氏は、cri-oのオフィシャルブログに投稿された記事「CRI-O 1.0 is here」で、Dockerに依存しないコンテナランタイムであるcri-oの開発動機について次のように説明しています。

We felt at the time that the upstream Docker project was changing too quickly and was making Kubernetes unstable. We felt that perhaps by simplifying the container runtime we could do better.

そのとき(訳注:cri-oの開発を検討し始めたとき)、Dockerプロジェクトはあまりに早く変化しすぎていて、Kubernetesを不安定にしていた。そこで、私たちなら多分、シンプルにしたコンテナランタイムをもっとうまくつくれるだろうと考えたのだ。

cri-oはOCIとCRIの2つの標準に準拠

cri-oは2つの標準に準拠したコンテナランタイムです。

1つはコンテナランタイムおよびコンテナイメージの標準仕様を規定しているOCI(Open Container Initiative)への準拠です。これにより、すでにOCIに準拠しているDockerコンテナ用のイメージはそのままcri-oでも実行できます。

つまり、Docker Hubなどのレジストリに保存されたDockerイメージを、cri-oにロードしてそのまま実行可能だということです。

もう1つの標準はKubernetes 1.5から開発が進んでいる「CRI」(Kubernetes Container Runtime Interface)です。これはKubernetesとコンテナランタイムとのあいだで命令や情報をやりとりするためのAPI仕様です。

CRIに準拠したコンテナランタイムであれば、Kubernetesのコンテナランタイムとして使うことができます。

OCIとCRIの標準の位置づけを図にすると以下のようになります。

cri-oが対応するOCIとCRI

現在、ほぼすべてのコンテナランタイムはOCI対応であり、今後Kubernetesの普及を考えればCRI対応も進んでいくはずです。KubernetesはこのCRI標準に対応したコンテナランタイムであればcri-oでもDockerでも任意のコンテナランタイムが利用可能になると説明されています。

要するに、Kubernetes側から見ればコンテナランタイムを自由に選べることになるのです。

cri-oとDockerの競合と共存

cri-oはKubernetesに最適化されたコンテナランタイムという点で、Kubernetesを統合すると発表したDockerと競合する側面を持つことは間違いありません。

本番環境などにおいてより軽量で安定したコンテナランタイムとして、cri-oがDockerよりも選ばれることは十分にありえます。

一方で、cri-oはコンテナランタイムとして最適化されているため、Dockerコマンドのようなコンテナを操作するための柔軟なコマンド体系や、Dockerイメージを生成する機能などを備えていません。

そのためアプリケーションの開発フェーズやコンテナイメージの作成などにおいて使われるのは間違いなくDockerでしょう。

現時点でcri-oとDockerの位置づけはこのように解釈し住み分けができると考えることができます。しかし、コンテナ周りはまだまだダイナミックな動きが続いており、いつ意外なことが起きても不思議ではないでしょう。

参考

関連記事

このエントリーをはてなブックマークに追加
follow us in feedly

カテゴリ Docker / コンテナ / 仮想化
タグ  cri-o , Kubernetes


次の記事
「キャズム理論」のキャズム・インスティテュートが日本上陸。キャズムを超えて成功する「マーケット戦略」を作るため、トレーニングやコンサルティングを提供開始[PR]

前の記事
[速報]次バージョンのDocker for Win/Macでは、ローカルにKubernetes環境も自動構築。DockerCon Europe 2017


カテゴリ



Blogger in Chief

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

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



新着記事 10本


PR - Books


fig

fig

fig