通过KubeVirt让容器和虚拟机一起工作

网站建设4年前发布
39 0 0

译者 | 吉锴,审校 | 孙淑娟,在不讨论容器与虚拟机的优缺点的情况下,每个虚拟机或都包含其完整操作系统的实例,并且可以像独立服务器一样运行。相比之下,在容器化环境中,多个容器共享一个操作系统实例,而且绝大多数都是类Linux操作系统。,并非所有应用程序服务都能在容器中良好运行,因此企业需要同时运行这两种服务。,例如,对于LDAP/Active Directory应用程序、标记化应用程序和具有密集GPU需求的应用程序,虚拟机比容器更好。您可能还有一个遗留应用程序,由于某些原因(没有源代码、许可证问题、使用小众语言等)无法实现现代化,因此必须在虚拟机中运行,也有可能需要在特定的操作系统(如Windows)运行。,无论应用需要虚拟机或容器的原因是什么,运行和管理多个环境都会增加操作的复杂性,需要单独的控制平面和可能单独的基础架构技术栈。如果您需要运行一个或一小组虚拟机,那么这似乎不是什么大事。但如果您有许多这样的应用呢?如果您需要跨不同的云环境运行这些应用程序的多个实例,该怎么办?您的运维操作可能会很快变得非常复杂。,如果可以将虚拟机作为Kubernetes环境的一部分来运行,那不是很好吗?,这正是KubeVirt能够为您做到的。在这篇文章中,我将介绍KubeVirt是什么,使用它的好处,以及如何集成这项技术,以便您可以立即开始使用它。,KubeVirt是一个Kubernetes插件,它为Kubernetes提供了在与容器相同的基础结构上提供、管理和控制虚拟机的能力。KubeVirt是由云原生计算基金会(CNCF)赞助的开源项目,目前正处于孵化阶段。,KubeVirt使Kubernetes能够使用与容器化工作负载相同的工具来调度、部署和管理虚拟机,从而消除了使用不同监视和管理工具的单独环境的必要性。为虚拟机和Kubernetes一起工作提供了可能。,使用KubeVirt,您可以声明:, 虚拟机运行在Kubernetes pod中,并利用标准的Kubernetes网络和存储。,Kubernetes 架构,资料来源:https://kubevirt.io/user-guide/architecture/,要更深入地连接KubeVirt的工作原理和所涉及的组件,请在kubernetes.io中查看KubeVirt的博客。,KubeVirt与Kubernetes现有的功能和工具(如监控、日志记录、警报和审计)集成,主要优势包括:,对VM和容器的集中化管理,简化了基础架构技术栈,并提供了各种好处。例如,采用KubeVirt可以消除对虚拟机和容器的不同流程,从而减少DevOps团队的运维工作,加快日常运维操作。此外,当更多虚拟机迁移到Kubernetes时,可以明显感觉到软件和实用程序使用成本的下降,更不用说虚拟层性能损失了。从长远来看,通过利用Kubernetes打包和调度虚拟应用程序的能力,您可以减少基础架构的资源消耗。,Kubernetes和KubeVirt提供更敏捷的部署速度、更低的成本和更简便的管理。使用Kubernetes自动化VM的生命周期管理,有助于整合虚拟化和容器化两者类型应用的CI/CD流程。通过统一使用Kubernetes对所有应用进行自动化测试和部署,可以减少部署应用时出错的风险并实现更快的迭代速度。,在部署KubeVirt的时候有几个地方需要注意。首先,正如我上面提到的,之所以通过虚拟机,而不是容器来管理应用的原因之一就是应用需要使用例如GPU这样的专用硬件。在这种情况下,您需要确保集群中至少有一个节点包含必要的硬件,然后将包含VM的pod固定到具有该硬件的节点上运行。,与任何Kubernetes附件一样,当你有多个集群且运行在不同的环境中时,KubeVirt的管理复杂性也会大大提高。你需要确保KubeVirt在每个集群中以相同的方式部署,并且有可能会根据不同集群的硬件环境进行定制化部署。,最后,掌握Kubernete技能的技术人员现阶段仍是很紧俏的。而在KubeVirt上运行VM需要能够理解和编辑YAML配置文件。因此需要确保在KubeVirt上部署VM的从开发人员和运维人员都掌握相关的技能和工具。,吉锴,51CTO社区编辑,18年软件开发经验。现在阿里云全球培训中心任讲师,负责云计算,云原生,数字化转型等领域的课程设计,交付。先后于富士通,联想集团,欢聚时代,搜狗任职,手机YY首任架构师。2014年开始从事专业技术培训和顾问工作。,原文标题:Run Containers and VMs Together With KubeVirt,作者:Kyle Hunter

© 版权声明

相关文章