科技云报道:容器与虚拟机之争?不存在的( 二 )


虚拟机和K8s相互融合
可以看到 , 容器和虚拟机根本就存在谁取代谁 , 而是相互融合的状态 。 这也带来了新的问题 , 即如何同时管理虚拟机和容器技术 , 成为企业的一个普遍的需求 。
作为虚拟化技术的最主要推手 , VMware很早就做出了反映 。 此前VMware通过在虚拟化平台上外挂PKS(Pivotal与VMware共同推出的一个K8s平台) , 来实现虚机与容器的同时管理 。 但毕竟是外挂 , 其效率和管理方便性上都有不足 。
去年的VMworld大会上 , VMware发布Tanzu 品牌计划 , 宣布在虚拟化技术中原生地提供对容器技术的支持 。 VMware的Tanzu把虚拟机和K8s结合起来 , 对虚拟机和容器以及物理机统一进行管理 , 它能实现跨物理机、虚拟机以及内部数据中心、跨多个云来管理应用 , 从而为工作负载提供一个统一的支撑 。
今年3月Tanzu正式亮相 , VMware最新一代虚拟化平台vSphere 7对外发布 , vSphere 7迎来了近10年最大的变革 。 VMware对vSphere进行了重构 , 将K8s嵌入vSphere的控制平面 , 让它成为一个K8s原生平台 , 从而原生地支持K8s 。
这样 , 那些VMware的传统用户无需在虚拟机和K8s容器环境之间做出选择 , 从而能自由在vSphere上进行现代应用程序开发和运营 , 同时继续利用现有的技术、工具和技能组合投资 。
另一方面 , 容器厂商也认识到了虚拟化的客观存在 , 也在拥抱虚拟化技术 , kubevirt 就是基于这个目的推出的 。
kubevirt是 Red hat 开源的以容器方式运行虚拟机的项目 , 使用容器的Image Registry去创建虚拟机并提供虚机的生命周期管理 。 在红帽4月底举行的年度技术大会Red Hat Summit 2020大会上 , 红帽宣布推出OpenShift 虚拟化的技术预览 , OpenShift 虚拟化就源自KubeVirt开源项目 。 企业可以通过这一功能 , 在整合了云原生与传统工作负载的OpenShift上开发、部署和管理由虚拟机、容器和无服务器构成的应用 。
虽然VMware和红帽的从不同出发点出发 , 但目的是一样的 , 而这背后的推动力则是企业的现实需求 。 对用户而言 , 它们的行动无疑是受欢迎的 , 这能让企业少了后顾之忧 , 不再需要进行非此即彼的选择 , 不用纠结容器究竟应该部署在虚拟机还是裸机上 , 从而可以更灵活支持未来的各种应用 。
科技云报道:容器与虚拟机之争?不存在的文章插图
虚拟机和K8s的未来
目前 , 虚拟机与容器技术的结合已经成为一个事实 , 不仅如此 , 虚拟机也正在成为云原生架构的一部分——这就是容器原生虚拟化 。 以K8s为代表的容器 , 运行在基于虚拟机的基础设施之上 , 而基于虚拟机的工作负载 , 仍然是IT组合的重要组成部分 。
未来 , 虚拟机和K8s的融合会呈现哪些趋势呢?

  • K8s编排微型虚拟机(如Kata Containers、Firecracker或gVisor)
微型虚拟机不像传统虚拟化那样提供完整的“机器” , 而是专注于提供足够的虚拟机 , 来成功执行应用程序容器或功能 。 因此 , 微型虚拟机旨在提供相对于标准Linux容器的硬隔离 , 同时最大限度地减少传统虚拟机在冷启动时间和性能方面的弱势 。
对于某些用户而言 , 可能需要更强大的多租户隔离 。 因此 , 这种方式能够为不受信任的工作负载提供更严格的多租户隔离 。
  • K8s编排标准虚拟机
以前 , 虚拟化堆栈是与K8s和云原生是完全独立的孤岛——独立的工作流程、独立的工具、独立的团队等 。 容器原生虚拟化的概念 , 使虚拟机能够遵循与K8s中基于容器的应用程序相同的工作流程 。
现在有了像KubeVirt这样的开源项目 , 就可以实现容器原生虚拟化 。 K8s编排引擎可以应用于管理在云或虚拟化平台上运行的标准虚拟机 , K8s开始使容器和虚拟机的混合运维成为可能 。


推荐阅读