LinuxコンテナはNamespaceやcgroup等の機構をユーザーランドが組み合わせて成立しており、カーネルは「コンテナ」という概念を直接は扱っていません。その結果、Namespaceの保持、複雑で暗黙的な生成手順、可視性の依存関係などが生まれます。本セッションでは、この前提を見直し、コンテナ実行のためにカーネルが最適化された理想のOS「Cyrius」を紹介します。CyriusはLinuxに依存せずOCI準拠のイメージをネイティブ実行可能であり、コンテナをカーネル内コンテナランタイムが直接管理します。Linuxと異なる点として、OCIネイティブなsyscallを持ち、コンテナ生成までに必要なsyscall呼び出しは一度だけです。この発表では、LinuxとCyriusでのコンテナ生成フローの比較、更にはFirecracker(AWS)、gVisor(Google)、Nabla Containers(IBM)との比較を、分離境界・互換性・運用性の違いや特性から解説します。CyriusのKubernetesとの統合方法や応用可能性も示し、コンテナとはなにかを再考する機会を提供します。
筑波大学
情報学群情報科学類
筑波大学 情報科学類 3年。以前コンテナランタイムを Rust で実装してみたことをきっかけに、クラウドネイティブ技術に興味を持ちました。個人開発が趣味です。現在は OS を書いたりしています。