您可能已经知晓,红帽已宣布将于 2026 年终止对红帽虚拟化(RHV)的支持。期间,客户有大约四年的时间,将现有的 RHV 工作负载迁移到市场中另一个正在发生重大变化的解决方案。在本文中,我们将讨论传统虚拟化的一种替代方案:OpenShift 虚拟化,这是红帽 OpenShift 中提供的一项功能。

 

红帽被评为 2023 年 Gartner® 魔力象限™ 领导者

在 2023 年 Gartner 魔力象限容器管理评选中,红帽被评为最具执行能力和最具远见的品牌。

与任何传统的虚拟机监控程序(如 Xen、VMware 或基于 KVM 的解决方案)一样,RHV 的一个主要用途是通过在每个物理计算节点上运行多个虚拟机(VM)来提高物理硬件的利用率。这些虚拟机监控程序都非常擅长这项任务,而且借助软件定义网络(SDN)等附加组件,传统虚拟机监控程序几乎与当今云平台提供的服务一样强大。

在最基础的层面上,红帽虚拟化和红帽 OpenStack 平台都使用红帽企业 Linux(RHEL)的 libvirt(KVM)功能来运行虚拟机。这些产品通过提供更易于使用的界面和配置选项,改进了 KVM 的管理。但归根结底,所有这些附加功能都只是改进了创建和管理虚拟机的方式。

现在,红帽提供了另一种方式来创建和管理基于 KVM 的虚拟机:红帽 OpenShift 虚拟化。现在,我得承认,当我第一次听说 OpenShift 虚拟化时,我感到难以置信。不,更重要的是,我认为这是一个糟糕的主意!虚拟机的运行方式与容器本就不同,为什么我们还需要在虚拟化操作系统下增加额外的复杂性呢?不过,在我了解了 OpenShift 虚拟化的工作原理,以及它如何利用红帽多年来提供和使用的相同可信 KVM 技术后,我也明白了 OpenShift 虚拟化如何帮助我们管理 OpenShift 中的虚拟机。

红帽 OpenShift 虚拟化的工作原理

正如 RHV 和 OpenStack 平台都提供了创建和管理基于 KVM 的虚拟机的简便方法一样,OpenShift 虚拟化也提供了许多相同的功能,但是以 OpenShift Operator 的形式提供。这样,您就可以在对应用进行现代化和容器化的同时,继续运行虚拟化工作负载。OpenShift 虚拟化是 OpenShift 的一个附加组件,能够在运行常规容器化工作负载的同时运行虚拟机。因此,如果您已经在运行本地 OpenShift 环境,使用 OpenShift 虚拟化对您而言是最为合理的选择。

在现有的 OpenShift 集群中安装 OpenShift 虚拟化 Operator 只需几分钟,并且如果您的裸机计算节点已正确配置,几秒钟后您就可以开始在 OpenShift 中启动虚拟机。所有这一切之所以成为可能,是因为 OpenShift 虚拟化依赖于您多年来一直成功使用的相同基础技术:QEmu、KVM 和 libvirt。唯一的区别是 QEmu 进程在容器内运行,并且它利用了 OpenShift 已经很强大的 SDN。因此,当您在 OpenShift 虚拟化中启动虚拟机时,它的运行方式与在 RHV 或 OpenStack 中一样,但多了一个好处,它将由您环境中已在运行的 OpenShift 集群进行管理。

下图并排显示和比较了在红帽的三款产品中 QEmu、KVM 和 libvirt 如何相互交互以及如何与虚拟机交互。使用 OpenShift 虚拟化时,这些组件在容器内运行,但它们之间的关系保持完全不变。如此一来,对于在容器内部或外部运行虚拟机而言,运行客户机操作系统的软件就是您多年来一直依赖的可靠解决方案。

 

containerizing KVM

对于已熟悉在本地运行 OpenShift 的系统管理员,添加 OpenShift 虚拟化相对来说是比较简单的。虚拟机在容器集中运行,可以像微服务一样被访问、迁移或负载平衡。这意味着,如果虚拟机因出现软件问题而挂起或崩溃,OpenShift 虚拟化可以配置为发现情况并采取纠正措施,例如重新启动虚拟机或在另一个节点上启动它。 

升级虚拟机内运行的应用也可以很简单,只需提供新镜像,然后更新虚拟机配置来使用它就行,OpenShift 虚拟化将负责启动新虚拟机并关闭旧虚拟机。或者,也可以在升级应用之前对虚拟机磁盘进行快照保存或克隆。这样,即便在升级过程中出现故障,也可以保障平稳的恢复过程。 

红帽还发布了虚拟化迁移工具包(MTV)。借助这些工具,您可以将 OpenShift 虚拟化直接连接到现有的虚拟机监控程序基础架构,并为虚拟机制定迁移计划。迁移计划将在您选择的时间运行,并将您的虚拟机迁移到 OpenShift 虚拟化,尽可能减少停机时间。

如何使用 OpenShift 虚拟化

为了消除因使用一款不同以往的产品来管理虚拟机而产生的恐惧、不确定性和疑虑,我们来看看如何安装和使用 OpenShift 虚拟化。在这里,我们只重点介绍总体框架,如果您需要详细的步骤,请参阅我们关于该主题的文档培训,或阅读另一篇探讨了 OpenShift 虚拟化优势的博客文章

在裸机工作节点上运行 OpenShift 集群后,从 Operator Hub 安装 OpenShift 虚拟化Operator,就像安装任何其他 Operator 一样。

 

OpenShift Virtualization Operator

安装完成后,点击 Create HyperConverged 按钮,该过程完成后,您就可以启动您的第一个虚拟机了。

首先,您可能会注意到 OpenShift 控制台导航栏中新增了虚拟化区域。

 

Virtualization menu

在这个区域,您可以大致了解当前的虚拟化环境,浏览官方模板目录,创建虚拟机,或者查看和创建自定义模板。

点击 VirtualMachines 时,您将看到还没有创建任何虚拟机。

 

No virtual machines found warning

点击 Create virtual machine 按钮,即可查看目录中的可用模板并启动您的第一个虚拟机。在本例中,我们将通过点击相应的模板来创建新的 RHEL 8 实例。

 

Create a new VirtualMachine from catalog screenshot

在下一屏幕中,您可以重命名虚拟机并更改虚拟化硬件的某些方面。在本例中,我们只需为其命名,然后点击 Quick Create Virtual Machine

 

Quick create VirtualMachine screen

在 OpenShift 虚拟化中创建虚拟机几秒钟后,您的新虚拟机就可以使用了。

 

List of virtual machines

点击虚拟机名称,然后点击 Console 选项卡,您可以看到它已启动并在运行,并已准备好连接网络。

 

New virtual machine details

结论

多年来一直在使用传统虚拟机监控程序的人士可能对已掌握的用于管理虚拟化工作负载的工具感到得心应手,例如红帽虚拟化。但随着技术的进步、环境的变化,以及许多公司越来越依赖基于容器的平台,对操作系统进行虚拟化已经变得像在现有 OpenShift 集群中安装 Operator 一样简单。

红帽 OpenShift 虚拟化不仅具备传统虚拟机监控程序的稳定性、自我修复能力、可扩展性和资源管理功能,同时利用了我们许多人已经在使用的工具。即便红帽虚拟化已宣布将在几年后退出市场,我们也不必惊慌失措,盲目寻找其他虚拟机监控程序来完成同样的老任务,而是应该关注一下容器化软件的进步和创新了。

要详细了解红帽 OpenShift 虚拟化带来的进步和创新,可以从以下视频、文档和演示文稿入手。无需焦虑和害怕,只需点击几下,容器化虚拟机就能运转起来!


关于作者

Matthew Secaur is a Red Hat Senior Technical Account Manager (TAM) for Canada and the Northeast United States. He has expertise in Red Hat OpenShift Platform, Red Hat OpenStack Platform, and Red Hat Ceph Storage.

Read full bio