VMware 容器解决方案一览

发布于 2024-09-05 05:12:57 字数 6214 浏览 20 评论 0

本文介绍了 VMware 最近宣布的两项容器解决方案,分别是 vIC(整合了 vSphere 的容器技术vSphere Integrated Containers)和 Photon 平台,并与现有方案进行了对比。

最近,VMware 宣布了几项关于容器的和如何构建云原生应用cloud-native application技术和方案 。这次公告的目标客户是传统的 VMWare 客户,他们的特点是他们会关注 Docker 等新技术,同时对于离开可信的供应商又是比较谨慎的。vIC(整合了 vSphere 的容器技术 vSphere Integrated Containers)和 Photon 平台 给与了这些客户一个机会来开始构建云原生应用。

然而,VMware 提出的大量的新技术和新术语对于传统的 VMware 管理员们、架构师们和顾问们带来了新的挑战。本篇博文尝试搞清楚这些新的方案,并与现有方案进行对比。

vSphere Integrated Containers



第一个方案是 vIC(整合了 vSphere 的容器技术vSphere Integrated Containers),这是 VMware 提出的一个进化的容器方案。根据 VMware 的介绍,vIC 的理念是,容器本质上是"一个打包了依赖的、用于执行的、存在于私有命名空间private namespace的、资源受限的二进制可执行文件",而容器宿主container host是“一个包含了必要的存储和网络架构的计算资源池,用于管理容器”。如果你接受这样一个前提的话,那么是什么构成容器和容器宿主并不重要,只要开发者们可以使用类似 Docker APIs 这样的标准容器 APIs 来访问这些资源就可以了。

vIC 是从 Bonneville 项目发展而来,它将容器技术解构成了若干基本能力,然后通过组合 VMware 的 ESXi、Photon OS 和 Instant Clone 等技术来替换这些能力。这个解决方案可以将传统的 vSphere 架构和容器技术连接起来,使得 VMware 管理员使用熟悉的 VMware 工具(如 vSphere)来管理这些特定类型的容器。

通过下面这张图来对比一下 Docker 容器技术和 vIC。



在 vIC 架构中,ESXi 虚拟层(hypervisor)替代 Linux 服务器作为 Docker 容器的宿主机操作系统。为了替代 Linux 内核隔离机制来创建容器,如 namepaces 和 cgroups,vIC 借助了 ESXi 的硬件虚拟化机制来创建容器虚拟机container VMs。为了使传统的 vSphere 虚拟机具备和 Linux 容器相匹配的启动速度,vIC 使用 Photon OS 的一个“微小版本”pico version作为 VM,并创建一个 0 开销的拷贝,称为 JeVM(Just enough VM)。JeVM 是一种新型的容器 VM,共享父虚拟机的内存。当内存页发生改变的时候,写时拷贝copy-on-write操作将为子虚拟机创建一个新的内存页。每当一个新的容器创建时,都会重复这一过程。

vIC 的其中一个优势是,可以使用现有的工具(如 vCenter)来管理容器宿主机,原因是容器宿主机本质上就是一台 ESXi 主机或者 vSphere 集群。这意味着 vIC 可以利用 vSphere 的高级功能,如 HA、vMotion 和分布式资源调度Distributed Resource Scheduling(DRS)。我们把这种抽象称为虚拟容器宿主机virtual container host。VMware 将 VIH 定义为“具有完全动态边界的容器终结点Container endpoint with completely dynamic boundaries”,在这个边界内,vSphere 资源管理器处理容器如何放置,从而虚拟 Docker 宿主机可以是一个完整的 vSphere 集群,也可以是这个集群的一部分”。这对于有些人可能很容易混淆,我的理解是,DRS 允许容器虚拟机可以在 vSphere 集群中的 ESXi 宿主机之间来回迁移。这样一来,我们可以把托管传统虚拟机的 vSphere 集群称为虚拟的 VM 宿主机virtual VM host

作为容器终结点,VIH 机制向开发者暴露了 Docker APIs,使得他们与 vIC 交互的方式和与基于 Linux 的 Docker 容器的交互方式是完全相同的。同时,VIH 和 vIC 实例可以通过 vSphere 网页客户端管理,就像传统的 vSphere 资源一样。

来自 VMware 的 Georg Hicken 提供的这张幻灯片很好地做了总结:

Photon 平台

如果说 vIC 是针对从传统虚拟机过渡到容器的客户的解决方案,那么 Photon 平台就是针对完全使用容器和 Kubernetes、Mesos 等容器管理工具的客户的解决方案。Photon 平台被设计来提供可扩展性和高性能,就像“Google 风格”的数据中心架构一样。在 Photon 平台中,为了完成这个目标,VMware 将传统的 ESXi 虚拟层替换为一种新型的轻量级的“microvisor”,将容器作为应用发布的基本单元,并使用一种新型的、经过优化的容器管理工具,称为Photon 控制器Photon Controller

了解 Photon 平台的一个好方法就是与另一种容器架构比较,比如 CoreOS 的 Tectonic 平台。

图中的 Photon Machine 是一种新的基于 ESXi 的微虚拟层microvisor,它使用了 Photon OS,提供了容器宿主机操作系统和容器运行时container runtime。刚开始这可能是令人疑惑的,因为在 Tectonic 平台中,容器宿主机操作系统是基于 Linux 的最小化系统 CoreOS,而容器运行时是不同的,可以是 RKT,也可以是 Docker。在 VMware 术语中,容器宿主机操作系统是微虚拟层,容器运行时是 Photon OS。

从这张图往上看,Photon Controller 是一种分布式的控制层control plane资源管理器resource manager,用来管理大量的 Photon Machines。单个控制器monolithic controller,如 vCenter,可扩展性往往存在一定的局限,而 Photon Controller 没有这种局限。例如,vIC 就是使用 vCenter 来管理的容器解决方案,具有中等的可扩展性,而 Photon 平台则是一种适用于大规模容器的架构。

从图中可以看出,Photon Controller 是一种超级管理器uber-manager,用来管理容器和调度资源,就像 Docker Machine/Compose/Swarm、Kubernetes 和 Apache Mesos 一样。换句话说,你可以使用 Photon Controller 来创建和管理 Kubernete 集群或者 Mesos 集群。类似的做法是,vRealize Automation (vRA) 可以管理不同的 vSphere 集群,其中的 ESXi 宿主机可以被 vCenter 实例来管理。Photon Controller 可以与 Lightwave 项目 整合,来提供身份访问管理。将来,Photon Controller 会包含更多的插件,提供创建、监控、管理等多种能力。

小结和更多资源

在以容器为中心的、云原生应用方面,VMware 正在进行各种探索。尽管很多人认为 VMware 是一个传统公司,但是需要注意的是,VMware 的客户群将会谨慎地转向容器技术。VMware 提出了 vIC 和 Photon 平台,提供给客户一个转向容器技术的方案。虽然,不能保证 VMware 在开源世界和云原生领域中一定会成功,但是他们已经踏出了积极的一步,创建了 云原生应用团队 ,并 开源了 Photon Controller 。无论如何,这显示了对于开源世界,VMware 并不是空口说白话。总之,VMware 不应该被忽视。

另外,我建议读者们阅读以下关于 vIC 和 Photon 平台的文章:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
28 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文