Kata Containers
Kata Containers とは何ですか?
Kata ContainersKata Containers は、各コンテナや Kubernetes Pod を軽量な仮想マシンで包み込み、ハードウェアレベルの隔離を提供するオープンソースランタイムです。
Kata Containers は、コンテナや Pod ごとにハイパーバイザ(QEMU、Cloud Hypervisor、あるいは AWS Firecracker)の内部で最小構成の Linux ゲストを起動します。各ワークロードが独自のゲストカーネルを持つため、あるテナントでのカーネルレベルの悪用やコンテナエスケープがホストや同居するワークロードに到達することはありません。これは、namespace、cgroups、seccomp だけが壁となる runc の共有カーネルモデルよりも強固な境界です。Kata は containerd/CRI-O のシムを通じて OCI および Kubernetes CRI インターフェースを実装するため、既存のイメージや Pod 仕様は変更なしで動作します。運用者は Kubernetes の RuntimeClass(kata-qemu、kata-fc)でワークロードごとに選択し、非信頼の Pod だけを VM 経由の経路に送ります。コストは runc より高い起動レイテンシとメモリオーバーヘッドで、得られるのはマルチテナントや非信頼コードに対する VM 級の隔離です。システムコールをユーザ空間カーネルで横取りする gVisor と比べ、Kata は実際の仮想化ハードウェア(VT-x/AMD-V)を使用します。
プロジェクトは 2017 年 12 月に、Intel の Clear Containers と Hyper.sh の runV を統合する形で発足し、2018 年 5 月に 1.0 リリースに到達しました。OpenInfra Foundation(旧 OpenStack Foundation)がホストし、x86-64、Arm、IBM Z をサポートします。Kata はまた、Confidential Containers(CoCo)プロジェクトのランタイム基盤でもあります。CoCo は各 Pod をハードウェア TEE(Intel TDX、AMD SEV-SNP)の内部で起動し、ゲスト内のアテステーションエージェントとイメージ管理スタックを追加することで、非信頼のクラウドホスト上で AI ワークロードを保護するといった機密コンピューティングのユースケースへ隔離を拡張します。
flowchart TD
POD[Kubernetes Pod 仕様] --> RC{RuntimeClass は何か}
RC -->|runc 信頼| RUNC[共有ホストカーネル<br/>namespace + seccomp]
RC -->|kata 非信頼| SHIM[containerd-shim-kata]
SHIM --> HV[ハイパーバイザ: QEMU /<br/>Cloud Hypervisor / Firecracker]
HV --> VM[軽量 VM<br/>独自のゲストカーネル]
VM --> AGENT[kata-agent が<br/>コンテナを実行]
VM -.CoCo.-> TEE[TEE 内で起動<br/>TDX / SEV-SNP + アテステーション]● 例
- 01
サーバレス基盤が Kata + Firecracker の microVM でテナントごとの関数を隔離する。
- 02
Kubernetes の RuntimeClass で非信頼 Pod を kata-qemu、信頼 Pod を runc に振り分ける。
● よくある質問
Kata Containers とは何ですか?
Kata Containers は、各コンテナや Kubernetes Pod を軽量な仮想マシンで包み込み、ハードウェアレベルの隔離を提供するオープンソースランタイムです。 サイバーセキュリティの クラウドセキュリティ カテゴリに属します。
Kata Containers とはどういう意味ですか?
Kata Containers は、各コンテナや Kubernetes Pod を軽量な仮想マシンで包み込み、ハードウェアレベルの隔離を提供するオープンソースランタイムです。
Kata Containers からどのように防御しますか?
Kata Containers に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Kata Containers の別名は何ですか?
一般的な別名: Kata, Kata ランタイム。