Kubernetes的将来:虚拟机?容器?仍是 Hypervisor?

Kubernetes 将来将走向何方?Pivotal 的首席技术专家 Paul Czarkowski 预测虚拟机(VM)将取代容器;红帽的副总裁 Joe Fernandes 认为虚拟机只是在帮助 Kubernetes 进化,而不会取代容器。此外,红帽的高级产品营销经理 Chris Short 表示,Kubernetes 很快就会取代虚拟机管理器(Hypervisor)。数组

Czarkowski 表示,虽然容器改进了软件的构建和部署方式,它们也不像虚拟机那样是安全的隔离沙箱。此外,容器是基于共享内核模型构建的,仅提供基本的进程隔离。Kubernetes 中的大多数组件都不是租户感知(tenant aware)的,因此采用的是软租户模型,其中只有命名空间或 pod 安全策略级别是隔离的,但 API 倒是共享组件:安全

这种状况致使了“多集群”模式的兴起,取代了“单个共享的大集群”。常常能见到谷歌 GKE 服务的客户为多支团队部署好几十个 Kubernetes 集群。一般每位开发者都有本身的集群。这种习惯致使集群数量快速增加到使人震惊的程度,足以称做“Kuber 泛滥”了。服务器

为了解决 Kuber 泛滥问题,Czarkowski 提议使用像 Kata Containers 这样的微型虚拟机——它是一个“开源项目和社区,致力于构建轻量级虚拟机的标准实现,其形态和工做方式和容器很像,但提供了虚拟机具有的负载隔离和安全性优点“。他的提议不是使用许多 Kubernetes 控制面板,而是使用 Kata Containers 为每一个租户提供一个隔离的环境(包括 Kubernetes API),其中嵌套的 VM 容器在来自 AWS、Azure、GCP 或 vSphere 的虚拟机中运行。这种部署以下图所示:架构

图片

资料来源:Paul Czarkowski 撰写的“Kubernetes 的将来就是虚拟机”app

在上图中已经部署了两个 Kubernetes 命名空间,分别是 foo 和 bar。每一个命名空间都有本身的 API、系统服务和 pod。这样经过嵌套的虚拟机来支持多租户集群就能减小 Kuber 泛滥现象,而且这种底层基础架构可用于在同一虚拟机中托管非容器工做负载。ide

另外,Short 说“使用 Kubernetes 做为虚拟机管理器的想法很快就会变为现实了”,使用像 KubeVirt 和 Kata Containers 等工具帮助组织迁移没法容器化的老旧负载。KubeVirt 是虚拟机管理的附加组件,可在 Kubernetes 之上提供虚拟化解决方案。KubeVirt 容许没法轻易容器化的老旧应用使用 Kubernetes 的内置功能,如自我修复、自动滚动升级(和回滚)、水平扩容等。Short 说:工具

这意味着虚拟机只要少许调整就能容器化了。根据现有的一些计划,Kubernetes 将做为虚拟机管理器开始改变数据中心和云计算环境。性能

也就是说 Czarkowski 和 Short 的想法是互补的。Czarkowski 认为 Kubernetes 将来将成为融合新兴技术的虚拟机,就像来自 AWS 的 Firecracker 和来自 Google 的 gVisor 那样;而 Short 认为虚拟机的将来就是 Kubernetes,组织会使用像 KubeVirt 这样的工具将原有的应用迁移到 Kubernetes 上。云计算

Fernandes 表示,将来的关键不是容器将取代虚拟机,而是如何使用 Kubernetes 来协调不一样的负载,如传统的基于虚拟机的负载或是微型虚拟机等。Kubernetes 将帮助组织现代化其负载,并为容器、虚拟机甚至裸机基础架构提供混合操做。还会有组织继续在裸机基础架构中运行负载,以经过硬件加速技术知足性能需求。或者也有公司像 Short 所说的那样,但愿经过虚拟机、微型虚拟机或借助 KubeVirt 和 Kata Containers 等工具来迁移并进化现有的负载。spa

因此 Fernandes 认为虚拟机不会取代容器。相反,Kubernetes 堆栈中虚拟机会不断进化。2019 年的趋势是 Kubernetes 与虚拟化开始相交,此外还兴起了更开放的新思惟模式:Kubernetes 将开始使用容器和虚拟机来运行混合负载。

Fernandes 在帖子最后补充了 Short 和 Czarkowski 的观点,他说 Kubernetes 的三大关键趋势将是:

  1. Kubernetes 编排微虚拟机,为不受信任的负载提供更严格的多租户隔离。

  2. Kubernetes 编排和管理传统的基于虚拟机的负载(经过 KubeVirt)以及基于容器的负载。

  3. Kubernetes 集群愈来愈多地部署在裸机服务器上,做为基于虚拟机环境的 Kubernetes 的替代品。

你如何看待 Kubernetes 的将来?

相关文章
相关标签/搜索