BT

Kubernetesの新たなコンテナランタイム

| 作者: Hrishikesh Barua フォローする 12 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2017年6月8日. 推定読書時間: 3 分 |

原文(投稿日:2017/04/30)へのリンク

ここ数ヶ月間で、Kubernetesと、そのコンテナランタイムであるDockerとrktとのこれまでの関係に変化があった。KubernetesがContainer Runtime Interface(CRI) APIをリリースしたのだ。並行して、KubernetesとOCI準拠のランタイムとのブリッジ構築を目的とした、CRI-Oと呼ばれる実装の開発も進められている。これによってKubernetesから、OCI準拠のコンテナ・ランタイムを標準的な方法で使用できるようになる。

Kubernetesは、プルや作成や削除といった、コンテナのライフサイクル制御のための操作を、基盤となるコンテナランタイムに依存している。ランタイムは実際のコンテナ実装として、名前空間の分離やリソース割り当てをオペレーションシステムのレベルで実行する。これまでのDockerとrktは、いずれも非公開のAPIを通じて、Kubernetesのソースコードに密接に統合されていた。そのため、これら以外のランタイムの追加が困難な上に、安定性の保証されないソースコードの修正を行なう必要があった。Kubernetesにアルファ機能として導入されたContainer Runtime Interface(CRI)は、これを変えようというものだ。CRIは、コンテナランタイムをKubernetesシステムにプラグインするための共通インターフェースを公開する。これによってユーザは、Dockerやrkt以外のインフラストラクチャの編成や拡張が可能になる。runvのようなコンテナベースのハイパーバイザもランタイムとして使用可能だ。

コンテナフォーマットとランタイムの標準化を目標に結成された業界フォーラムであるOpen Container Initiative(OCI)が、 コンテナランタイムの標準となる ランタイム仕様を公開した。現時点での実装としては、HyperHQのrunvであるruncと、IntelのClear Containersベースのもの、その他がある。Project Atomic/RedHatが業界のコントリビュータ達と立ち上げたCRI-Oプロジェクトでは、OCIコンテナランタイムを使用したKubernetes CRI APIを開発中である。これにより、OCIに準拠した任意のランタイムであれば、CRIアダプタの実装をそれぞれ用意しなくても、後者のCRI APIを通じてKubernetesにプラグインできるようになる。

KubernetesのCRIには、現時点で次の実装が存在する。

  • CRI-O – OCI準拠ランタイム
  • rktlet – rktコンテナランタイム
  • Frakti – ハイパーバイザベースのコンテナランタイム
  • Docker CRI shim – CRIアダプタとしてDockerを直接サポート


イメージ提供: http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html

Kubernetesのデプロイメントでは、kubeletが各ホスト(Kubernetes用語ではミニオン)のローカルエージェントとしてコンテナランタイムと通信するが、CRIを使用する場合には、kubeletはgRPC(オープンソースのRPCフレームワーク)越しにCRIシムと通信し、それをフロントエンドとして実際のランタイムを呼び出すことになる。Kubernetesの最小デプロイメントユニットであるPodのコンセプトは、PodSandboxというコンセプトに拡張され、同様のセマンティクスを維持する。これは、ハイパーバイザベースのシステムでは仮想マシンに、DockerなどのランタイムではLinuxネームスペースに、それぞれ転換されることになる。

 
 

この記事を評価

関連性
スタイル
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT