使用这款新工具将虚拟机迁移到 Kubernetes

使用 Forklift 将您的虚拟化工作负载迁移到 Kubernetes。
57 位读者喜欢这篇文章。
How Kubernetes is helping Docker blossom

Maersk Line。CC SA-BY 4.0

2017 年,KubeVirt 团队启动了该项目,旨在在 Kubernetes 中与容器一起管理虚拟机 (VM)。这个开源项目的目的是使虚拟机成为该环境中的一等公民。

自 KubeVirt 在 2018 年开源峰会上推出以来,它持续成熟和发展。它在 GitHub 上获得了超过 2,000 个星标,甚至在 2021 年 2 月推出了自己的活动 KubeVirt 峰会

KubeVirt architecture

使虚拟化成为 Kubernetes 原生(© Red Hat

KubeVirt 是 OpenShift Virtualization 的底层基础,它帮助开发人员将虚拟机引入容器化工作流程。

在 Kubernetes 中利用虚拟机

KubeVirt 使您能够在虚拟机上使用 Kubernetes 原生功能。这意味着它们可以连接到可以使用标准 Kubernetes 方法(包括 Service、Route、Pipelines 等)访问的 pod 网络。网络策略应用于 VM pod 的方式与应用于应用程序 pod 的方式相同,从而为管理 VM 到 pod(以及反之亦然)的通信提供了一致的模型。

这方面的一个真实案例是一家航空公司的旧模拟器软件。它注入了人工智能和机器学习 (AI/ML) 模型,然后在基于虚拟机的模拟器上自动部署和测试它们。这使其能够使用 Kubernetes 和 Kubeflow 完全自动化获取测试结果和新的遥测训练数据。

Konveyor.io 是一个开源项目,旨在帮助将现有工作负载(开发、测试和生产)迁移到 Kubernetes。其工具包括 Crane,用于将容器从一个 Kubernetes 平台移动到另一个平台;Move2Kube,用于将工作负载从 Cloud Foundry 迁移到 Kubernetes;以及 Tackle,用于分析 Java 应用程序,通过使其更标准和更易于移植到 Kubernetes 等容器化平台中可用的运行时来对其进行现代化改造。

这些工具在转型模式中很有用,但许多项目希望在早期阶段利用 Kubernetes,以变得更敏捷和高效。在基础设施方面,这些好处可能包括蓝/绿负载均衡、路由管理、声明式部署,或者(取决于您的部署方式)由于不可变基础设施而更容易升级。在开发方面,它们可能包括将持续集成/持续开发 (CI/CD) 管道与平台集成、更快地将应用程序投入生产、自助配置资源或集成运行状况检查和监控。

KubeVirt 可以通过在 Kubernetes 环境中将工作负载作为虚拟机运行来帮助您。它使您能够快速将工作负载加入 Kubernetes,享受其好处,并随着时间的推移稳步地实现工作负载的现代化。但是,您仍然存在将虚拟机从传统虚拟化平台迁移到现代 Kubernetes 平台的问题。这就是 Konveyor 的 Forklift 项目的用武之地。

关于 Forklift

Forklift 使用 KubeVirt 将虚拟化工作负载从不同来源迁移到 Kubernetes。它旨在简化任务,以便您可以迁移从一两台机器到数百台机器的任何内容。

迁移是一个简单的三阶段过程

  1. 连接到现有的虚拟化平台(称为“源提供商”)和 Kubernetes 环境(“目标提供商”)。
  2. 将网络和存储资源从源提供商映射到目标提供商,在两者中寻找等效资源。
  3. 选择要迁移的虚拟机并分配网络和存储映射以制定迁移计划。然后运行它。

如何开始

要开始使用 Forklift,首先,您需要一个兼容的源提供商。您还需要一个安装了 KubeVirt 0.40 或更高版本的 Kubernetes 环境和裸机节点(尽管为了测试,您可以使用嵌套虚拟化)。使用读写执行 (RWX) 功能配置您的存储类,并使用 Multus 配置您的网络以匹配您的虚拟机在源提供商中使用的网络。(如果您不能这样做,也不用担心;您也可以选择重新排列 IP 地址。)

最后,在 Kubernetes 上安装 Forklift 使用提供的 operator,并访问用户界面以开始运行您的首次测试迁移。

Forklift 是 Red Hat 的 Migration Toolkit for Virtualization 的上游版本。因此,如果您想在生产环境中使用它,您可能希望考虑使用该工具的受支持版本。

迁移愉快!

接下来阅读什么
Miguel Pérez Colino
Miguel 是一位经验丰富的 IT 爱好者,对开源软件和开放标准有着明确的定位。他拥有广泛的 IT 背景,从大型部署的运营到架构;从识别和原型化解决方案到定义 IT 策略。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.