Google 容器引擎架构
Google Container Engine Architecture
我正在探索 Google 的 IaaS/PaaS 产品的架构,我对 GKE(Google 容器引擎)运行 如何在 Google 数据中心。从这篇文章 (http://www.wired.com/2012/07/google-compute-engine/) 以及一些 Google IO 2012 会议中,我收集了 GCE (Google Compute Engine) 运行s 使用 KVM ( Kernel-based虚拟机);这些 VM 运行 在 Google 的 cgroups-based 容器内(这允许 Google 以与他们安排现有 container-based 工作负载相同的方式安排用户 VM;可能使用 Borg/Omega).现在 Kubernetes 如何解决这个问题,因为它让你在 GCE 配置的 VM 上而不是裸机上成为 运行 Docker 容器?如果我的理解是正确的,那么 Kubernetes-scheduled Docker 容器 运行 在 KVM VM 中,它们本身 运行 在 Google 由 Borg/Omega 调度的 cgroups 容器中。 .
此外,Kubernetes 网络如何适应 Google 现有的 GCE Andromeda software-defined 网络?
我知道这是一个非常 low-level 的架构问题,但我觉得对内部结构的理解将改善我对裸机上最终 运行 用户工作负载的理解。另外,我很好奇,从性能的角度来看,容器内 VM 上的整个 运行ning 容器是否是必要的?例如。多层网络不会降低网络性能吗? Google 在其 Borg 论文 (http://research.google.com/pubs/archive/43438.pdf) 中提到他们 运行 他们的 container-based 工作负载没有 VM(他们不想支付 "cost of virtualization");我理解在 VM 中 运行ning public 外部工作负载的逻辑(更好的隔离,更熟悉的模型,异构工作负载等),但是使用 Kubernetes,我们的工作负载不能直接在裸机上调度,就像 Google 自己的工作量一样?
可以在虚拟机和物理机上 运行 Kubernetes see this link。 Google 的云平台仅提供虚拟机作为服务,这就是 Google 容器引擎构建在虚拟机之上的原因。
在 Borg 中,容器允许任意大小,并且它们不会为奇数大小的任务支付任何资源惩罚。
我正在探索 Google 的 IaaS/PaaS 产品的架构,我对 GKE(Google 容器引擎)运行 如何在 Google 数据中心。从这篇文章 (http://www.wired.com/2012/07/google-compute-engine/) 以及一些 Google IO 2012 会议中,我收集了 GCE (Google Compute Engine) 运行s 使用 KVM ( Kernel-based虚拟机);这些 VM 运行 在 Google 的 cgroups-based 容器内(这允许 Google 以与他们安排现有 container-based 工作负载相同的方式安排用户 VM;可能使用 Borg/Omega).现在 Kubernetes 如何解决这个问题,因为它让你在 GCE 配置的 VM 上而不是裸机上成为 运行 Docker 容器?如果我的理解是正确的,那么 Kubernetes-scheduled Docker 容器 运行 在 KVM VM 中,它们本身 运行 在 Google 由 Borg/Omega 调度的 cgroups 容器中。 .
此外,Kubernetes 网络如何适应 Google 现有的 GCE Andromeda software-defined 网络?
我知道这是一个非常 low-level 的架构问题,但我觉得对内部结构的理解将改善我对裸机上最终 运行 用户工作负载的理解。另外,我很好奇,从性能的角度来看,容器内 VM 上的整个 运行ning 容器是否是必要的?例如。多层网络不会降低网络性能吗? Google 在其 Borg 论文 (http://research.google.com/pubs/archive/43438.pdf) 中提到他们 运行 他们的 container-based 工作负载没有 VM(他们不想支付 "cost of virtualization");我理解在 VM 中 运行ning public 外部工作负载的逻辑(更好的隔离,更熟悉的模型,异构工作负载等),但是使用 Kubernetes,我们的工作负载不能直接在裸机上调度,就像 Google 自己的工作量一样?
可以在虚拟机和物理机上 运行 Kubernetes see this link。 Google 的云平台仅提供虚拟机作为服务,这就是 Google 容器引擎构建在虚拟机之上的原因。 在 Borg 中,容器允许任意大小,并且它们不会为奇数大小的任务支付任何资源惩罚。