繁体   English   中英

有关在Google容器集群内使用的节点的困惑

[英]Confusion about nodes used inside a Google Container Cluster

创建Google Container Engine集群后,Container Engine将创建一个Compute Engine管理的实例组来管理创建的实例。 这些实例来自Google Compute引擎,这意味着它们是虚拟机。

但是我们在doc页面中读到:“ VM是重量级且不可移植的。新方法是基于操作系统级虚拟化而不是硬件虚拟化来部署容器”不是矛盾吗? 如果我错了纠正我。 我们之所以使用容器,是因为与VM相比,它们的运行速度非常快(无论是在启动时还是在执行任务方面),而且它们还节省了大量空间。 因此,如果我们有一个最多可支持4个容器的节点(vm),我们的客户可以迅速吃掉4个容器,但是超出此数目,gcloud autoscaler将需要吃一个新节点(vm)来支持即将到来的容器,这将导致一些任务延迟。

在物理机器上启动容器是不可能的吗?

您对运行关键时间执行任务有何建议?

绝对有可能在物理计算机上启动容器。 实际上,根据Borg的论文 (其设计对Container Engine / Kubernetes产生了重大影响),这是Google自己的基础架构中的规范:

每个任务都映射到在计算机上的容器中运行的一组Linux进程[62]。 Borg的大部分工作负载都无法在虚拟机(VM)中运行,因为我们不想支付虚拟化的费用。 此外,该系统是在我们对处理器进行了大量投资而没有硬件虚拟化支持的时候设计的。

由于容器引擎托管在GCP内,因此使用VM来促进动态配置。 但是,与计划在其上的容器的生存期相比,这些VM的生存期很长。 可以在这些VM的上/下计划容器的容器,然后作业完成。 但是,在升级集群或调整集群大小时,VM将被拆除。

Kubernetes可以安装在虚拟机和物理机上(有多个关于裸机的入门指南 )。 Google的Cloud Platform仅提供虚拟机作为服务,这就是为什么Google Container Engine构建在虚拟机之上的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM