Kata Containers 是一个开源项目,致力于打造安全的容器运行时,将容器的性能和简单性与轻量级虚拟机的增强隔离性相结合。
通过利用硬件虚拟化技术,它增加了一层额外的防御,以确保更强的工作负载隔离。
Kata Containers
创建 Kata Containers 开源容器运行时的最初动机是为了克服传统容器在设计上面临的挑战。
使用命名空间无法为工作负载提供强大的屏障,从而导致安全性、多租户等方面的问题。
该项目旨在创建一个在不牺牲性能的情况下提供隔离的容器运行时。
Kata Containers 使用外观和行为都与传统容器相似的轻量级虚拟机,在虚拟机和容器之间实现了融合。
通过这种无缝集成,该项目可以提供强大的工作负载隔离,使用硬件虚拟化技术作为第二层防御,同时保持容器的性能。
Kata Containers 与Kubernetes等容器编排平台集成,用户可以像启动任何其他容器运行时一样启动它。
该项目目前在 64 位系统上运行,支持以下技术:
x86_64、amd64:Intel VT-x、AMD SVM
aarch64(“arm64”):ARM Hyp
ppc64le:IBM Power
s390x:IBM Z 和 LinuxONE SIE
该项目最初依赖 QEMU 来提供在本地主机上运行的虚拟化层,对于 Kubernetes 来说,本地主机就是工作节点。
多年来,社区增加了对其他虚拟机管理器 (VMM) 的支持,例如:
Cloud Hypervisor
Firecracker
StratoVirt
支持多个 VMM 允许用户微调其基础设施并使用最适合其用例的特定功能。
该项目还为 Confidential Containers 等项目奠定了基础,这是一个 CNCF 沙盒项目,其中包括“peer pods”功能,用户可以在远程云上运行虚拟机,这也是 Kata Containers 支持的一个用例。
未来计划
Kata Containers 运行时最初是用 Go 语言编写的。
随着 Rust 编程语言开始流行,由于其注重性能和安全性,社区决定将其用作运行时的主要编程语言。
Kata Containers 项目的未来版本将依赖于 Rust 版本的运行时。
社区也在不断更新他们正在集成的其他组件,一个很好的例子就是 Containerd 2.0 版本,它将为该项目提供新功能。
Kata Containers 已经在全球范围内为要求严格的用例提供支持,例如银行和支付系统、高度监管环境中的数据保护、保护 CI/CD 管道等。
让项目为最新和最苛刻的用例(如 AI 和 ML)做好准备,仍然是社区未来的首要任务。
Kata Containers 可在 GitHub 上免费下载。
Kata Containers 是一个开源项目和社区,致力于构建轻量级虚拟机 (VM) 的标准实现,这些虚拟机的感觉和性能类似于容器,但提供虚拟机的工作负载隔离和安全优势。
https://katacontainers.io/
https://github.com/kata-containers/kata-containers