自从我的雇主决定将一切都转移到Azure和AKS之后,我开始更密切地关注kubernetes、容器和虚拟化技术。
据我所知,AKS中的一切都将运行inside VM's.
GKE和EKS也是如此。亚马逊提供了一些裸机实例,但我不确定这是否适用于kubernetes。
这不会影响性能吗?容器的承诺是在较轻的虚拟化层上运行,而不是在完全成熟的vm上运行。
在vm中运行容器不就超过了目的吗?
发布于 2021-06-19 05:40:10
(Linux)容器是一组通过Linux namespaces与系统其余部分隔离的一个或多个进程。命名空间是Linux内核的一个特征,它对内核资源(挂载、网络设备等)进行分区,使得一组进程可以看到一组资源,而另一组进程可以看到一组不同的资源。例如,每个容器看到不同的根文件系统(容器映像),并且其进程树与主机的进程树的其余部分隔离。
除了通过名称空间隔离之外,容器还受到cgroups可以使用的资源数量的限制,这也是Linux内核的一个特性。
换句话说,容器并不是真正的“虚拟化”,因为它使用的只是原生内核功能,并且使用容器的开销(一旦启动)非常小,一旦它被引导,它就会像任何其他进程一样运行。
Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的系统,它需要某个地方来托管容器。此基础架构可以是裸机或VM的。
因此,在VM中运行容器化应用程序的带来了与在裸机(隔离和资源消耗限制)上运行应用程序相同的好处。是否通过裸机或VM向集群提供计算资源是另一个问题,每个问题都有其优缺点,但VM与裸机的优劣并不取决于您是否在它们上运行容器或常规应用程序并处理。
您关于AKS;GKE和EKS正在使用VM为群集提供计算资源的观察是正确的。它将物理硬件抽象化,目前是公共云提供商提供计算资源的标准方式
https://stackoverflow.com/questions/68033834
复制相似问题