你应该听说过Kata Containers,自2017年12月推出以来,它一直是运行与容器环境完全兼容的虚拟机(VM)的一种方式。
Ampere公司的首席系统软件工程师Eric Ernst和StackHPC公司的软件工程师Bharat Kunwar解释了Kata Containers的工作原理以及它们的性能和安全优势。它们还介绍了一个用例场景和围绕该技术的新研究。
本质上,由OpenStack基金会管理的Kata Containers,无论是感觉上还是和运行起来,都像容器,但实际上是虚拟机。其优势之一是能够利用容器提供的许多计算优势,同时提供VMs所能提供的隔离和保护。Kata Containers主页上的标语是这样描述的:“容器的速度,虚拟机的安全性。”
换句话说,Kata Containers集成在容器和Kubernetes基础设施中,而没有在虚拟机中运行容器可能带来的性能缺点。
与容器和Kubernetes pod相比,Kata Containers的隔离结构使其具有安全优势。它们不会与运行它们的虚拟机之外的其他容器通过Linux内核共享潜在访问权限。这样,它们消除了容器可能造成的一些潜在漏洞,同时提供容器实例的好处。
Ernst说,Kata Containers也是一种Open Container Initiative(OCI)兼容技术,旨在从镜像和运行时的角度对Kata Containers进行标准化。作为一个与OCI兼容的运行时,这意味着你“将能够像你期望的正常Docker和Kubernetes体验那样插入并运行。”Ernst说。
当然,Kata Containers的隔离能力是关键。例如,它们可以使组织能够运行和访问不受信任的工作负载——这些工作负载需要与运行在其下的主机操作系统内核隔离。Kunwar说:“所以,对于传统类型的容器,Linux命名空间提供了一个虚构的隔离——然而,这是问题所在。”
Ernst说,包括云提供商在内的基础设施提供商也可以将Kata Containers视为保护基础设施免受来自“坏角色”和“想要拥有你的基础设施的攻击者”攻击的一种方法。“很多时候,如果有威胁,你会试图保护某个东西,你会在那个东西周围放一个笼子。但在Kata的情况里,我们实际上是在保护主机基础设施。”Ernst说,“因为我不信任你,我把你放在一个隔离性更强的容器里,所以我们继续用Kata Containers运行。从威胁模型的角度来看,我们要做的就是:保护主机基础设施,隔离不受不信任的人、他们的工作负载或两者兼而有之。”
在“漂亮的小打包车”中包含依赖关系也是Kata Containers被采用的原因。“这是一个巧妙的用户界面。启动一个容器、杀死一个容器、缩放以及其他一切都很容易。这就是人们喜欢容器的原因。”
他说:“并不是因为容器提供了隔离,人们就被它吸引了——从某种意义上说,这更多是一个事后发现的优点。但是隔离是很重要的。”
原文链接:
https://thenewstack.io/kata-containers-demo-a-container-experience-with-vm-security/