4个用于在云原生环境中运行虚拟机的开源工具

作者&投稿:徵方 (若有异议请与网页底部的电邮联系)
~

遗留工作负载是否阻止你走向云原生?这里有四种解决方案,可以在云原生环境中运行虚拟机。

许多IT专业人士想走向原生云。但是,你有传统的工作负载,比如单体,它只能在虚拟机上运行。

你可以为云原生工作负载和遗留工作负载维护单独的环境。但是,如果你能找到一种方法将虚拟机集成到你的云原生设置中,这样你就可以无缝地管理它们,不是更好吗?

幸运的是,有这样的方法。本文介绍了在云原生环境中运行虚拟机的四种开源解决方案,只需很少的重新配置或调整。

为什么在云原生环境中运行虚拟机?

在研究这些工具之前,让我们先看看为什么能够在由容器化、松散耦合、云原生工作负载组成的环境中运行虚拟机很重要。

主要原因很简单:承载遗留工作负载的虚拟机不会消失,但维护单独的托管环境以运行它们是一种负担。

同时,转换遗留工作负载以满足云原生标准可能是必须的。虽然理论上你会有时间和工程资源来重构遗留工作负载,以便它们可以在云原生环境中本机运行,但这在现实世界中并不总是可能的。

因此,你需要工具,比如下面描述的四种开源解决方案之一,让遗留虚拟机工作负载与云原生工作负载和平共处。

1.使用KubeVirt运行虚拟机

在云原生环境中部署虚拟机的最流行解决方案可能是KubeVirt。

KubeVirt的工作原理是在Kubernetes pod内运行虚拟机。如果你想在容器旁边运行虚拟机,那么只需将KubeVirt安装到现有的Kubernetes集群中,其中包含:


然后,创建并应用一个YAML文件,该文件描述了要运行的每个虚拟机。KubeVirt在一个容器中执行每台机器,因此从Kubernetes的角度来看,VM只是一个常规的pod(有一些限制,将在下一节中讨论)。然而,你仍然可以获得虚拟机镜像、持久存储以及固定的CPU和内存分配,就像使用传统虚拟机一样。

这意味着KubeVirt基本上不需要更改虚拟机。你所要做的就是安装KubeVirt并为虚拟机创建部署,使其作为pod运行。

2.Virtlet方法

如果你想真正致力于将虚拟机视为pod,你可能会喜欢Mirantis的开源工具Virtlet。

Virtlet与KubeVirt相似,因为Virtlet还允许你在Kubernetes pod内运行虚拟机。这两种工具之间的关键区别在于,Virtlet将虚拟机更深入地集成到Kubernetes pod规范中。这意味着你可以使用Virtlet进行操作,例如将虚拟机作为守护程序集或复制集的一部分进行管理,而这是使用 原生 KubeVirt无法完成的(KubeVirt具有相同的功能,但它们是附加组件,而不是Kubernetes的原生部分)。

Mirantis还说,Virtlet通常比KubeVirt提供更好的网络性能,不过这很难确切知道,因为网络配置中涉及到太多变量。

3.ISIO对虚拟机的支持

如果你不想将虚拟机当作容器来管理,该怎么办?如果你想把它们像虚拟机一样对待,同时仍然允许它们与微服务轻松集成,该怎么办?

最好的解决方案可能是将你的虚拟机连接到Istio,即开源服务网格。在这种方法下,你可以使用标准虚拟机工具部署和管理虚拟机,同时仍然可以通过Istio管理网络、均衡负载等。

不幸的是,将虚拟机连接到Istio的过程相对繁琐,目前很难实现自动化。它归结为在每个要连接的虚拟机上安装Istio,为它们配置命名空间,然后将每个虚拟机连接到Istio。

4.容器和虚拟机与OpenStack并排

到目前为止,我们所研究的技术包括采用Kubernetes或Istio等云原生平台,并向其添加虚拟机支持。

另一种方法是采用非云原生平台,运行虚拟机,然后将云原生工具移植到该平台上。

如果在OpenStack上同时运行VM和容器,就会得到这样的结果。OpenStack最初设计用于部署虚拟机(以及其他类型的资源)以构建私有云。但是OpenStack现在也可以托管Kubernetes。

因此,你可以使用OpenStack部署和管理虚拟机,同时通过Kubernetes在OpenStack上运行云原生容器化工作负载。最终会有两个编排层——底层OpenStack安装和Kubernetes环境——因此从管理角度来看,这种方法更为复杂。

然而,它的主要好处是,你可以使虚拟机和容器彼此相对独立,因为虚拟机不是Kubernetes的一部分。你也不会局限于使用Kubernetes工具来管理虚拟机。您可以将虚拟机视为标准虚拟机,将容器视为标准容器。

结论

开源生态系统提供了许多方法来帮助虚拟机与云原生工作负载共存。对你来说,最佳解决方案取决于你是想采取以Kubernetes为中心的方法(在这种情况下,KubeVirt或Virtlet是最好的选择),还是想允许虚拟机与容器共存,而不与容器紧密集成(在这种情况下,OpenStack最有意义)。如果你只想在网络级别而不是编排级别进行集成,请考虑将虚拟机连接到Istio服务网格。




4个用于在云原生环境中运行虚拟机的开源工具
如果在OpenStack上同时运行VM和容器,就会得到这样的结果。OpenStack最初设计用于部署虚拟机(以及其他类型的资源)以构建私有云。但是OpenStack现在也可以托管Kubernetes。因此,你可以使用OpenStack部署和管理虚拟机,同时通过Kubernetes在OpenStack上运行云原生容器化工作负载。最终会有两个编排层——底层OpenStac...

5大最新云原生镜像构建工具全解析,3个来自Google,你了解几个?
1. Google的KO工具 专为Golang开发者打造的KO,整合了Kubernetes的强大功能,只需一个命令即可完成镜像构建和部署。它支持K8s yaml,包括live server在内的开发体验优化,得益于基础镜像distroless的有力支持,使得环境一致性易于实现。2. 简化与便利 KO支持go module,通过镜像地址和二进制文件名构建,无...

原生存储是什么意思?
云原生是一种开发和运行软件应用程序的新范式,它融合了云计算、容器化、Serverless 和微服务等技术趋势。云原生存储是一种旨在用于云原生环境的存储技术。云原生存储平台可以存储管理有状态应用程序的数据,并解决 Kubernetes 或其它基于云原生环境的基础设施中一直存在的数据存储挑战问题。分布式架构中的对象存储可...

有没有好一点的云原生安全技术
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可...

现在走云原生安全真的安全吗?
在云原生环境中,智能检测系统可以完全识别入侵的出现并影响本地控制。严密监控与调查由于所有分布式组件和API服务,云本机工作负载安全调查可能会很复杂,因此监视和安全调查必须最大程度地降低性能影响和存储要求。这包括一个集中的监视体系结构,没有网络瓶颈,并且工作负载可以扩展。与自动化工具集成容器工作负载可以在云原生...

现在大家都在说的云原生到底是什么?
是云原生的核心技术,它是一种相对于虚拟机来说更加轻量的虚拟化技术。能为我们提供一种可移植、可重用的方式来打包、分发和运行程序。容器的基本思想就是将需要执行的所有软件打包到一个可执行程序包。例如,将一个Java虚拟机、Tomcat服务器以及应用程序本身打包进一个容器镜像。用户可以在基础设施环境中...

什么是云原生应用?
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用,借助平台的全面自动化能力,跨多云构建微服务,持续交付部署业务生产系统。以容器和编排体系为基础的云原生技术栈,具备几个显著的能力特点:第 一,极 致弹性能力,以容器化方式运行的应用程序,其启动和停止...

总听说云原生技术,到底什么是云原生技术呢?
云原生是一个组合词,“云”表示应用程序运行于分布式云环境中,“原生”表示应用程序在设计之初就充分考虑到了云平台的弹性和分布式特性,就是为云设计的。云原生并不是简单地使用云平台运行现有的应用程序,它是一种能充分利用云计算优势对应用程序进行设计、实现、部署、交付和操作的应用架构方法。云原生...

云原生是什么意思
云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生的英文为CloudNative,是一个组合词:Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势...

HPE如何通过云原生化5G抓住从核心到边缘的机遇?
随着5G革命的到来,HPE敏锐地捕捉到一个前所未有的机遇,那就是将电信网络从核心到边缘进行全面的云原生转型。HPE通信和媒体解决方案的Domenico Convertino,产品管理副总裁,分享了他们如何利用在企业IT领域的深厚积累,为5G的这一转型提供坚实基础。云原生网络的转型Convertino指出,从移动核心的传统角色转变为...

阿里地区15591606061: 虚拟机是什么?
子丰闵八珍: 一般意义的虚拟机 虚拟化分类 虚拟化浪潮 VMware虚拟化 微软虚拟化 IBM虚拟化 HP虚拟化 SWsoft虚拟化 SUN虚拟化 Intel虚拟化 AMD虚拟化 Java虚拟机 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统...

阿里地区15591606061: linux虚拟化技术有哪些 -
子丰闵八珍: 1、早期的虚拟化模型被称为Type 1,或者叫本地虚拟化(native virtualization). 2、后来出现了主机虚拟化(hosted virtualization)模式,被称为Type 2,hypervisor运行在操作系统之上,在同一平台上允许两个或更多的操作系统共存. 3、更加...

阿里地区15591606061: 虚拟机的运行环境是怎样的? -
子丰闵八珍: 虚拟机:实际上就是一种应用软件,广义上来说Word、WPS也算是虚拟机,只不过它们是只能做文字处理的机器而已.狭义的虚拟机软件VMware实际上也只是一种应用软件,其特别之处在于,由它创建...

阿里地区15591606061: 在Linux下运行的虚拟机有哪些.? -
子丰闵八珍: linux下有vmware的linux版本. redhat|有自带的vm,那就是xen或者是kvm

阿里地区15591606061: 如何在云计算测试环境中安装VMware vCAC -
子丰闵八珍: 下面是具体步骤.1.vCAC安装准备VMware混合云管理工具vCAC(vCloudAutomationCenter)的最佳安装方式是将其安装在VM上.在本例中,vCAC将安装在一台2vCPU、16GBRAM和100GB磁盘空间的VM上.该VM已经安装了微软...

阿里地区15591606061: 一般虚拟化平台都包含有哪些组件呢? -
子丰闵八珍: 所谓的虚拟化平台即是通过虚拟化可以在单台物理计算机上运行多个虚拟机,且所有虚拟机可在多种环境下共享该物理计算机的资源.在同一物理计算机上,不同的虚拟机可以独立、并行运行不同的操作系统和多个应用程序. 至于,虚拟化平台...

阿里地区15591606061: 什么是虚拟机?虚拟机一般用来做什么 -
子丰闵八珍: 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统. 1.演示环境,可以安装各种演示环境,便于做各种例子 2.保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序,或者测试用的程序在虚拟机上运行 3.避免每次重新安装,银行等常用工具,不经常使用,而且要求保密比较好的,单独在一个环境下面运行 4.想测试一下不熟悉的应用,在虚拟机中随便安装和彻底删除 5.体验不同版本的操作系统,如Linux、Mac等.

阿里地区15591606061: 虚拟化有哪些应用?
子丰闵八珍: 虚拟化的应用软件:1、Openfiler NAS和SAN 2、Opsview监测工具3、Cacti网络绘图工具4、M0n0wall防火墙5、AS Communication Gateway6、WebGUI CMS7、BitNami WordPress8、FOG计算机克隆工具9、云桌面技术虚拟化的分类:准虚...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网