23

据我了解, Kata Containers

Kata Container 构建轻量级虚拟机 (VM) 的标准实现,其感觉和执行类似于容器,但提供 VM 的工作负载隔离和安全优势

另一方面,gvisor

gVisor 是容器的用户空间内核。它限制了应用程序可访问的主机内核表面,同时仍允许应用程序访问它期望的所有功能。

我相信,这两种技术都试图将linux 空间添加到容器中以增​​强安全性。

我的问题是它们有何不同?功能有重叠吗?

4

2 回答 2

17

据我收集:

卡塔集装箱

  • 轻量级 QEMU/KVM 虚拟机之上的完整内核
    • 内核已在较新版本中进行了优化。
  • 让系统调用自由通过
  • 由于 VM 层造成的性能损失。尚不清楚比 gVisor 有多慢或多快
  • 在纸面上,启动时间较慢。
  • 可以运行任何应用程序。
  • 如果虚拟机管理程序和硬件支持,则可以在嵌套的虚拟化环境中运行。

gVisor

  • 用户空间中的部分内核。
  • 拦截系统调用
  • 由于系统调用过滤导致运行时性能损失。尚不清楚比 Kata 有多慢或多快。
  • 在纸面上,更快的启动时间。
  • 只能运行使用受支持系统调用的应用程序。
  • 在纸面上,您可能不需要嵌套虚拟化。
于 2018-05-03T08:46:05.393 回答
5

这里有一个简单的解释

卡塔集装箱

某种在Hardware上运行的容器

传统的虚拟机是安全的,但不如容器快。Kata Containers 项目就像一个虚拟机,就像一个容器一样轻量级。换句话说,Kata Containers 解决了VM的低速问题。

gVisor

在名为 gVisor 的沙箱中运行的容器(每个容器都有一个沙箱)

容器速度很快,但不如虚拟机安全。gVisor 类似于沙盒,每个容器都应该在一个沙盒中运行。换句话说,gVisor 解决了Containers的安全问题。

于 2018-08-10T17:03:31.857 回答