コンテナの軽量さと仮想マシンの堅牢さを兼ね備えた新しいコンテナ実装「Kata Containers」、OpenStack Foundationが発表
OpenStack Foundationが開発を発表した「Kata Containers」は、従来のコンテナ実装とは異なり、コンテナ間でカーネルを共有せず分離レベルを高めた新しいコンテナ実装を目指す。
OpenStack Foundationは、コンテナの軽量さと仮想マシンの堅牢さを兼ね備えた新しいコンテナ実装「Kata Containers」の開発プロジェクトを発表しました。
カーネルを共有しないことで分離レベルを高める
Dockerなどに代表される従来のコンテナは、OSのユーザー空間の名前空間を分離することによってそれぞれのコンテナが実現されています。
この仕組みの利点は、コンテナの起動時に名前空間を分離するだけで済む点にあります。これがコンテナの迅速さや軽量さにつながっている一方、コンテナ間でカーネルを共有しているためにコンテナ間の分離レベルは高くなく、同一カーネル上で動いている別のコンテナの負荷の影響を受けやすかったり、セキュリティ上の課題を抱えやすくもあります。
Kata Containersは、コンテナの軽量さを保ちつつ、このコンテナ間の分離レベルを仮想マシン並みの高いものにします。そのため、カーネルの共有は行われずコンテナごとにカーネルを持つ仕組みになると説明されています。
以下はKata ContainersのWebサイトの説明を引用したものです。
Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
Kata Containersはオープンソースプロジェクトであり、コンテナのように振る舞い、しかも仮想マシンの持つ優れた分離やセキュリティを備えた、ライトウェイトな仮想マシンの標準的な実装を開発するためのコミュニティの取り組みである。
Kata Containersはこうした新しいコンテナ実装に取り組む一方、コンテナランタイムとコンテナイメージの標準仕様であるOCI(Open Container Initiative)およびKubernetesとコンテナランタイムのあいだのインターフェイスを規定するCRI(Container Runtime Interface)に対応するとしています。
そのため、既存のコンテナランタイムと同様にKata Containersを利用することができる模様です。
Intel Clear ContainersとHyper runVをベースに開発
Kata ContainersはインテルのClear Containersと、HyperのHyper runVの2つの実装をベースにしています。 ^
インテルのClear Containersは高速な起動やインテルCPUの特性を生かしたセキュリティ機能を特徴とし、Hyper runVはさまざまなCPUとハイパーバイザに対応するという特徴を持つため、この2つの特徴をうまく組み合わせて開発が進められるとのことです。
あわせて読みたい
Dockerコンテナ時代の第一章の終わり、そして第二章の展望など
≪前の記事
Pivotalもサーバレスへ参入、「Pivotal Function Service」発表。Kubernetes対応