Kata Containers
Kata Containers 是什么?
Kata ContainersKata Containers 是一个开源运行时,通过为每个容器或 Kubernetes Pod 启动一个轻量虚拟机来提供硬件级隔离。
Kata Containers 是 OpenInfra 基金会的项目,为每个容器或 Pod 启动一个最小化的 Linux 客户机,运行在 QEMU、Cloud Hypervisor 或 Firecracker 等 hypervisor 之上。每个工作负载拥有独立内核,因此某个容器中的内核漏洞无法触达宿主机或同节点的其他工作负载。Kata 通过 containerd/CRI-O 的 shim 实现 OCI 与 Kubernetes CRI 接口,现有镜像和 Pod 定义无需修改即可使用。代价是相较 runc 略高的启动时间与内存开销,换来的是 VM 级强隔离边界,适用于多租户或不可信负载,而仅靠 namespace 与 seccomp 显然不够。
● 示例
- 01
Serverless 平台通过 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 是 OpenInfra 基金会的项目,为每个容器或 Pod 启动一个最小化的 Linux 客户机,运行在 QEMU、Cloud Hypervisor 或 Firecracker 等 hypervisor 之上。每个工作负载拥有独立内核,因此某个容器中的内核漏洞无法触达宿主机或同节点的其他工作负载。Kata 通过 containerd/CRI-O 的 shim 实现 OCI 与 Kubernetes CRI 接口,现有镜像和 Pod 定义无需修改即可使用。代价是相较 runc 略高的启动时间与内存开销,换来的是 VM 级强隔离边界,适用于多租户或不可信负载,而仅靠 namespace 与 seccomp 显然不够。
如何防御 Kata Containers?
针对 Kata Containers 的防御通常结合技术控制与运营实践,详见上方完整定义。
Kata Containers 还有哪些其他名称?
常见的别称包括: Kata, Kata 运行时。
● 相关术语
- cloud-security№ 455
gVisor
gVisor 是 Google 开源的应用层内核,在用户态拦截容器的系统调用,从而显著缩小暴露给不可信工作负载的宿主内核攻击面。
- cloud-security№ 838
Pod 安全标准(PSS)
Pod 安全标准(PSS)是 Kubernetes 定义的 Privileged、Baseline、Restricted 三种安全档位,用以规范 Pod 配置并替代已弃用的 PodSecurityPolicy。
- cloud-security№ 597
Kubernetes 准入控制器
准入控制器是 Kubernetes API server 的插件,在请求被持久化前进行拦截,按照策略对对象进行校验、变更或拒绝。
- cloud-security№ 757
OPA Gatekeeper
OPA Gatekeeper 是 CNCF 的策略控制器,基于 Open Policy Agent 与 Rego 语言,在 Kubernetes 上执行准入与审计策略。
- cloud-security№ 602
Kyverno
Kyverno 是 CNCF 的 Kubernetes 策略引擎,使用原生 YAML(而非新 DSL)编写策略,实现资源的校验、变更与生成。
- cloud-security№ 599
Kubernetes NetworkPolicy
Kubernetes NetworkPolicy 是按命名空间作用的资源,通过 IP、端口与协议控制哪些 Pod 可以与哪些 Pod 或外部端点通信。