迁移虚拟机(vm)容器并不总是简单的。这是一个旅程,就像工作负载迁移到云端是一个旅程。容器是短暂的,他们是一个伟大的适合无状态的工作负载。许多应用程序的目的,不是为了生活在一个环境不断变化和发展。然而,由于虚拟机(vm)不会改变太多-他们是一个伟大的适合有状态的工作负载。
在今天的文章中,我将解释如何成功将虚拟机迁移到容器和描述生态系统的工具和产品是什么样子的。让我们进入它,从遗留的工作负载迁移到容器中。
使用的容器遗留的工作负载
最常见的一个问题与迁移到容器是如何管理遗留工作负载——这些是在2013年引入容器之前开发的。这些工作负载的一个典型的问题是他们并不是设计来适应一个容器的波动性质。此外,试图找出一个工作负载的所有依赖项是具有挑战性的。和一些依赖关系可能不支持的容器。
有一些工具和产品,旨在帮助客户遗留工作负载转移到容器中。例如,谷歌Anthos迁移[我]有助于从一个VM生成一个容器使用Anthos当你。我们将探索生态系统可用的工具和服务后在这篇文章中。
对于Windows工作负载,生态系统发展。本机支持容器已经自2016年版本10为桌面和服务器建立混合Kubernetes集群。和已是可能与活动目录集成身份验证在一个容器中(二)。微软发布了一组Dockerfiles示例[3]客户可以使用作为起点手动迁移他们的工作负载。如果你想要深入了解Windows容器,Kubernetes播客从谷歌对这个话题有优秀的插曲(四)。
所以,一旦你有了容器的形象,发布的时候了。但如何?让我们来看看。
现代化在小批量
一种常见模式推动新系统是通过扼杀者模式的变化[v]的想法是逐步改变系统通过创建路线新老系统的边缘。´换句话说,你不需要现代化的整个系统,你可以在小批量。例如,可以解耦系统的一小部分,创造相当于microservices用集装箱装。在系统内部,您可以创建路线在网络层面,指出microservice位置。
您可以运行实验,看看您的应用程序的行为在使用容器,然后学习如何对系统的其余部分重复相同的过程。并不是所有地区的系统可能有相同的或被托管在同一位置的依赖关系。您可以利用云服务容器,同时继续使用你的本地基础设施——无论是基础设施是否运行在容器。
换句话说,你不需要现代化的整个系统,你可以小批量生产。”
下面的图表说明了如何实现一个混合架构。首先将用户指向云,从那里分离所需的交通。例如,95%的用户仍将去本地的基础设施,在Azure和5%将使用容器。如果所有的容器都是运行在Kubernetes从Azure服务,您可以使用和表达途径Equinix的织物™通过私人连接发送所有用户请求,直接和安全连接,不使用公共网络。渐渐地,你可以移动你所有的服务容器,在云端和前提,离开所有的数据的前提。
现在你已经确定了战略使容器平稳过渡,让我们来谈谈工具,存在的服务和产品来帮助你你的工作负载迁移到容器中。
利用广泛的工具和产品生态系统
有多个工具你的虚拟机工作负载迁移到容器中。一组解决方案帮助您管理vm在Kubernetes这样一个容器平台。KubeVirt等项目(六),Virtlet(七)和RanchverVM(八)所有允许您运行vm在Kubernetes容器。农场主最近还推出了一个名为收割机的开源项目(第九)使用KubeVirt提供VM使用容器的经验。一个导游[x]是可用的,解释了如何使用收割机在吗Equinix的金属™。
你可以使用一个Equinix的织物™连接通过一个私人发送所有用户请求,直接,不使用公共网络安全连接。渐渐地,你可以移动你所有的服务容器,在云端和前提,离开所有的数据前提。”
正如你所看到的,生态系统一直在发展,让它更容易在容器运行vm的平台,同时继续运行vm与容器。然而,如果你宁愿不担心把虚拟机,您可以使用谷歌Anthos迁移(十一)自动帮你虚拟机转换为容器。
保持一个持续改进的心态将虚拟机迁移到容器中
正如你所看到的,没有直接和简单的答案关于vm迁移到现在的容器。但该行业发展方向是帮助您遗留VM运行工作负载在集装箱平台。保持一个持续改进的心态当你开始尝试,因为容器之旅会看起来像一个混合模型。在小批量工作,注重现代化网络如何帮助让你的旅程更平稳。项目,比如收割机允许您扩展您的工作负载在边缘。平台Equinix™与服务,如Equinix的面料,网络边缘,Equinix的金属帮助您解决挑战将虚拟机迁移到容器中。有关更多信息,看我们网络研讨会上执行一个相互联系的云策略。
[我]https://cloud.google.com/migrate/anthos
(二)https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts
[3]https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/master/windows-container-samples
(四)https://kubernetespodcast.com/episode/070-windows-server-containers/
[v]https://martinfowler.com/bliki/StranglerFigApplication.html
(七)https://docs.virtlet.cloud/的介绍
(八)https://rancher.com/introducing-ranchervm-package-and-run-virtual-machines-as-docker-containers/
(第九)https://rancher.com/blog/2020/announcing-harvester-open-source-hyperconverged-infrastructure-software
[x]https://github.com/harvester/ipxe-examples/blob/main/equinix/README.md
生态系统一直在发展,让它更容易在容器运行vm的平台,同时继续运行vm与容器。”