コンテナ向け軽量VM技術

コンテナのカーネル共有による分離の弱さを、VMレベルの分離で補おうとする一群の技術。microVMという土台技術の上に、それをコンテナのエコシステム(OCIイメージ・containerd・Kubernetes)と繋ぐレイヤーが複数存在する。

#virtualization #moc

さらに下の土台: カーネル側の仮想化基盤

  • KVM — LinuxカーネルにビルトインされたCPU仮想化機能。デバイスエミュレーションは一切行わず、以下のVMM群がその役目を担う
  • VM exit — ゲストが特権操作・I/Oを試みた瞬間にホストへ制御が戻る仕組み。KVMとVMM間の連携の核心

I/Oインターフェースの標準: virtio

  • virtio — ゲスト-ホスト間I/Oの準仮想化標準。フルデバイスエミュレーションより軽量で、以下のVMM群が共通して採用している

土台: VMM(Virtual Machine Monitor)

  • microVM — デバイスモデルを最小化した軽量VMという概念そのもの。なぜ起動が速いかを解説
  • Firecracker — AWS製。AWS Lambda/Fargateを支えるmicroVM実装
  • Cloud Hypervisor — Intel主導・Rust製。rust-vmm由来でFirecrackerの実装を参考にしている
  • rust-vmm — Firecracker/crosvm/Cloud Hypervisorが共有する、Rust製VMM部品(クレート)群
  • crosvm — Google製。ChromeOS/Android向けに開発されたRust製VMM
  • QEMU — 2003年発。他のVMMと異なりmicroVM専用ではなく、幅広いアーキテクチャ・デバイスをフルエミュレートできる「何でも屋」

コンテナエコシステムとの統合レイヤー

FirecrackerなどのVMMは素のカーネル+rootfsしか扱えないため、OCIイメージ/containerd/Kubernetesと繋ぐには別レイヤーが必要になる。

  • Kata Containers — OpenStack Foundation発。OCI/CRI互換のコンテナランタイムとして、Firecracker/Cloud Hypervisor/QEMUなど複数のVMMを横断的にバックエンドとして選べる
  • firecracker-containerd — AWS製。containerd専用のFirecracker統合プラグイン
  • Hypeman — Kernel社製。OCIイメージのpull・実行をDocker互換CLIで扱えるようにした、マルチハイパーバイザー対応のランタイム

出典

各ノートの出典セクションを参照。

作成日時: 2026-08-12 23:25 / 更新日時: 2026-08-14 08:21