Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 653

Kata Containers

审核人Cybersecurity entrepreneur & security researcher

Kata Containers 是什么?

Kata ContainersKata Containers 是一个开源运行时,通过为每个容器或 Kubernetes Pod 启动一个轻量虚拟机来提供硬件级隔离。


Kata Containers 为每个容器或 Pod 在一个 hypervisor(QEMU、Cloud Hypervisor 或 AWS Firecracker)中启动一个最小化的 Linux 客户机。每个工作负载都拥有自己独立的客户机内核,因此某个租户中的内核级漏洞利用或容器逃逸都无法触及宿主机或同节点的其他工作负载——这比 runc 的共享内核模型是一道更强的边界,在后者中只有命名空间、cgroups 和 seccomp 这几道防线。Kata 通过 containerd/CRI-O 的 shim 实现 OCI 与 Kubernetes CRI 接口,现有镜像和 Pod 定义无需任何修改即可运行;运维人员可通过 Kubernetes RuntimeClass(kata-qemu、kata-fc)按工作负载进行选择,只把不可信的 Pod 送入虚拟机路径。代价是相较 runc 更高的启动延迟和内存开销;收益则是为多租户或不可信代码提供 VM 级别的隔离。与在用户态内核中拦截系统调用的 gVisor 相比,Kata 使用的是真实的虚拟化硬件(VT-x/AMD-V)。

该项目于 2017 年 12 月成立,由 Intel 的 Clear Containers 与 Hyper.sh 的 runV 合并而来,并在 2018 年 5 月发布了 1.0 版本;它由 OpenInfra 基金会(前身为 OpenStack 基金会)托管,支持 x86-64、Arm 和 IBM Z 架构。Kata 同时也是 Confidential Containers(CoCo)项目的运行时基础,后者在硬件 TEE(Intel TDX、AMD SEV-SNP)中启动每个 Pod,并加入了客户机内的证明代理与镜像管理组件,将隔离能力延伸到机密计算场景,例如在不可信的云宿主机上保护 AI 工作负载。

flowchart TD
  POD[Kubernetes Pod 定义] --> RC{RuntimeClass?}
  RC -->|runc 可信| RUNC[共享宿主机内核<br/>命名空间 + seccomp]
  RC -->|kata 不可信| SHIM[containerd-shim-kata]
  SHIM --> HV[Hypervisor: QEMU /<br/>Cloud Hypervisor / Firecracker]
  HV --> VM[轻量虚拟机<br/>独立的客户机内核]
  VM --> AGENT[kata-agent 运行<br/>容器]
  VM -.CoCo.-> TEE[在 TEE 中启动<br/>TDX / SEV-SNP + 证明]

● 示例

  1. 01

    Serverless 平台通过 Kata + Firecracker 将各租户函数隔离在 microVM 中。

  2. 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 运行时。

● 相关术语