草庐IT

KubeVirt with YRCloudFile 擦出创新的火花

YRCloudFile 2023-03-28 原文
第一眼看到 KubeVirt 这个词,对技术有些了解的人基本都会知道,Kube 代表了 Kubernetes 容器化平台,而 Virt 则是以 OpenStack 为代表的虚拟化平台及虚拟化的缩写。近几年Kubernetes 的大热,相伴随的是 OpenStack 虚拟化平台的落寞,KubeVirt 的出现,似乎有一种重整旧山河,王者归来的霸气。前几年 Kubernetes 与 OpenStack 各自大行其道时,鉴于容器的安全性、网络隔离等问题,有很多方案在探讨如何在虚拟机上运行容器,典型的如 Magnum,可以通过成熟的多租户以及网络虚拟化来更好地控制容器的生命周期。而 KubeVirt 反其道而行,用 Kubernetes 平台来管理虚拟机。

01 KubeVirt 是什么?

KubeVirt 是一个 Kubernetes 插件,由 Redhat 开源,在调度容器之余也可以调度传统的虚拟机。它通过使用自定义资源(CRD)和其它 Kubernetes 功能来无缝扩展现有的集群,以提供一组可用于管理虚拟机的 API 。KubeVirt 并不是虚拟化平台的替代品,它只是利用 Kubernetes 的整体框架以及 CRD 来管理 VM,底层调用的依旧是基于 libvirt 的机制,类比为 OpenStack 中的 Nova,并不涉及网络、存储等相关内容。除了 KubeVirt,近几年来也涌现出不少类似的技术,例如 Virtlet,Kata 等。Virtlet 是将 POD、VM 两个并不完全匹配的概念映射在了一起,结果导致在 virtlet 中并不存在迁移等概念,所以也就不是一个标准的 VM ;Kata 则有着更快的速度以及更好的安全性,但依旧不是一个完整的 VM 管理方案。K8S 容器平台是未来业务容器化平台的主流方向,但虚拟机 VM 依然会长期存在,对于那些因为历史代码、操作系统老旧等问题而无法迁移到容器平台的业务,KubeVirt 给出了完美的解决方案,有了 KubeVirt,虚拟机可以与容器无缝地衔接在一起。Rancher 还基于 K8S、KubeVirt 发布了开源的超融合基础架构软件 Harvester。至此,容器与 IaaS 殊途同归。

列项 KubeVirt Kata-container virtlet
支持虚拟机系统 Linux, windows Linux 社区已经不活跃
安全程度 虚拟机安全 虚拟机安全  
启动速度 虚拟机启动速度 接近容器启动速度  
虚拟机完整功能 支持 不支持  
功能对比图

02 KubeVirt 结构

KubeVirt 主要包括4个组件 irt-api、Virt-controller、Virt-handler、Virt-launcher ,并且利用 CRD 的功能,定义了若干种资源对象。

  • VirtualMachineInstance(VMI):类似于 Kubernetes Pod,是管理虚拟机的最小资源。一个 VirtualMachineInstance 对象即表示一台正在运行的虚拟机实例,包含一个虚拟机所需要的各种配置。
  • VirtualMachine(VM):为群集内的 VirtualMachineInstance 提供管理功能,例如开机/关机/重启虚拟机,确保虚拟机实例的启动状态,与虚拟机实例是 1:1 的关系,类似与 spec.replica 为 1 的 StatefulSet。
  • VirtualMachineInstanceMigrations:提供虚拟机迁移的能力,虽然并不会指定具体迁移的目的节点,但要求提供的存储支持 RWX 读写模式。
  • VirtualMachineInstanceReplicaSet:类似ReplicaSet,可以启动指定数量的 VirtualMachineInstance,并且保证指定数量的 VirtualMachineInstance 运行,可以配置 HPA。
组件 功能
virt-api 类似于 kube-api , 提供 http restful , 虚拟化操作的入口,包括常规的 CRD 更新验证以及 vm start、stop 。
virt-controlller 是 Kubernetes 的控制器,用于管理集群中的 VM 生命周期 ,会根据 VMI CRD ,生成对应的 virt-launcher pod ,并维护 CRD 的状态 。
virt-handler Virt-handler 会以 Daemonset 形式部署在每个节点上,负责监控节点上每个虚拟机实例状态变化,一旦检测到状态变化,会进行响应并确保相应操作能达到所需(理想)状态。Virt-handler 保持集群级 VMI Spec 与相应 libvirt 域之间的同步,报告 Libvirt 域状态和集群 Spec 的变化,调用以节点为中心的插件以满足 VMI Spec 定义的网络和存储要求。
virt-launcher 每个 virt-launcher pod 对应着一个 VMI , kubelet 只是负责 virt-launcher pod 运行状态,不会去关心 VMI 创建情况。virt-handler 会根据 CRD 参数配置去通知 virt-launcher 使用本地 libvirtd 实例来启动 VMI ,pod 生命周期结束,virt-launcher 也会去通知 VMI 去终止。每个 virt-launcher pod 对应一个 libvirtd ,virt-launcher 通过 libvirtd 去管理 VM 的生命周期,不再是以前虚拟机的做法,一个 libvirtd 去管理多个 VM 。
KubeVirt 结构各组件功能

03 KubeVirt 存储

KubeVirt 中提供多种方式的虚拟机磁盘,磁盘使用方式非常灵活。以下列出几种比较常用的:

  • CloudInitNoCloud/CloudInitConfigDrive :用于提供 cloud-init 初始化所需要的 user-data,使用 configmap 作为数据源。
  • PersistentVolumeClain:使用 PVC 作为后端存储,适用于数据持久化;PV 类型可以为块存储或者文件系统(filesystem),使用 filesystem 时,会使用 PVC 上的 /disk.img,格式为 RAW 的文件作为硬盘。
  • ContainerDisk:镜像中包含虚拟机启动需要的所有内容,可以将它们推送到 registry,使用时拉取镜像,直接使用 containerDisk 作为 VMI 的磁盘,但数据无法持久化。

04 KubeVirt With YRCloudFile

首先在一个 Working 的 K8S + YRCloudFile CSI 的环境上,我们来安装 KubeVirt。

有了以上的基础内容,我们就可以用 ISO 来装一个虚拟机了,我们以 CentOS 为例,首先将ISO 上传到 PVC 供后续安装使用。

在上述文件中,我们利用 YRCloudFile PV 来承载 CDROM ISO 以及虚拟机的系统盘。随后使用上述 yaml 文件创建虚拟机:

安装完重启后,我们可以登录到虚拟机内,完整的虚拟机即可呈现在眼前。

那么虚拟机是如何被创建出来的呢?我们可以到对应的 virt-launcher POD 内一探究竟,首先观察一下 virt-launcher 的日志:

进入到 virt-launcher 进一步深挖,我们看到每个 virt-launcher 创建了一个虚拟机,虚拟机定义文件内所配置的 disk 路径即为在 launcher 容器内挂载的 YRCloudFile PVC 内对应的磁盘文件。

到这里,我们共同见证了 KubeVirt 与 YRCloudFile 完美结合的过程, 而这完美的结合也成功的运用到了实际的案例场景中。

日前, 秒云与焱融科技强强联手成功落地电力设计行业云原生超融合虚拟化场景,秒云容器云平台的云原生虚拟化功能是基于 Kubernetes+Kubevirt 等云原生开源组件,可在一套平台上同时管理容器和虚拟机,结合焱融 YRCloudFile 云原生分布式文件系统,实现了基于云原生技术的 GPU 云桌面超融合部署方案,为用户提供了高性能的基于容器的 GPU 云桌面平台,降低投入成本,实现了存储资源的自动化调度和使用。

KubeVirt + YRCloudFile 联合解决方案对电网、能源等行业的设计规划业务是一次重要的创新,解决了用户对 GPU 设计平台更高效利用,以及高性能数据访问的实际问题。

有关KubeVirt with YRCloudFile 擦出创新的火花的更多相关文章

  1. 亚马逊云科技Serverless Data:数字经济下的创新动能 - 2

    Serverless时代已经到来!企业的技术架构,总是伴随着不断增长的数据与日趋复杂的业务持续演进。如何通过构建更易用的技术架构来聚焦在业务本身,而不必在底层基础设施的管理上投入过多的精力,是数据驱动型企业需要思考的重要议题。  ServerlessData作为云原生数据服务的下一代技术架构与“新常态”,正在推动云计算的进一步发展,并且已经成为云原生数据库、大数据分析乃至人工智能等云计算服务的重要发展趋势。Serverless所带来的不仅仅是IT技术领域的创新性飞跃,同时也是数字经济趋势下,企业实现快速发展的重要机遇。十七年持续创新全方位拥抱Serverless从2006年亚马逊云科技的第一个

  2. 【3月比赛合集】20场可报名的「创新应用」和「程序设计」大奖赛,任君挑选! - 2

    CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见 CompHub主页 或点击文末阅读原文以下信息仅供参考,以比赛官网为准目录创新应用赛(6场比赛)程序设计赛(14场比赛)创新应用赛(6场比赛)数字医疗算法应用创新大赛——生物共融与数字疗法应用赛道🖥和鲸(Heywhale)·📅2023.02.17-2023.04.30👤90+支队伍·💰¥194,000+名企实习机会+生态合作伙伴和鲸社区-Heywhale.com第十八届“挑战杯”全国大学生课外学术科技作品竞赛“揭榜挂帅”专项赛·华为云

  3. 仿真创新大赛—国三省一 智能鱼缸(proteus)(stm32) - 2

    ⏩大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。⏩去年下半年参加了全国仿真创新大赛,也是取得了国赛三等奖,省赛一等奖的好成绩。⏩本篇文章对我们的参赛作品《智能鱼缸》做一个简介。⏩感谢你的阅读,不对的地方欢迎指正。⏩如果对代码和文档有需要私信我。————————————————智能鱼缸一、需求分析二、技术方案三、功能展示proteus仿真展示实物展示四、应用前景五、总结一、需求分析随着我国经济的发展和人民生活水平的日益增长,人们的消费观在改变,消费档次与生平都在提高,人们的生活品位越来越高,环境的个性化、环保化越来越受到人们的重视,与之相关的休闲、居家装饰等行业相应的日线蓬

  4. 观点:Web3可以通过推翻初创公司的年龄偏见来释放创新 - 2

    上周,我感到震惊:我的第一份工作实际上是在为一家失败的航空公司制定破产退出计划,那年我们的协议实习生出生。在一阵恐慌并检查我的地址是否已更新以便我收到我的AARP卡(额,这当然有点夸大其词)之后,我花了更多的时间来思考我是如何拥有几乎18年的经验,发现自己是一个尖端DeFi协议的贡献者。那么,为什么我会选择web3机会,而不是选择那些我决定不去追求的众多其他创业公司中的任何一家呢?Web3具有独特的优势,可以颠覆传统创业世界中存在的年龄偏见,因为它更便宜、更快速地扩展,使年长的创始人对他们的职业生涯有积极的影响,并促进需要更深层次的行业的变革创新专业知识。创业的年龄偏见是非常真实的让某人描述一

  5. openEuler RISC-V 23.03 创新版本亮相:全面提升硬件兼容性和桌面体验 - 2

    近日,openEulerRISC-V23.03创新版本正式发布。openEulerRISC-VSIG作为openEuler系统在RISC-V架构上的维护组织,主要致力于openEuler在RISC-V软硬件方面的适配,一直跟随openEuler版本节奏提供openEuler的RISC-V镜像版本。本次更新带来更好的硬件支持,更多的软件适配,包括VisionFive2,SG2042等多款新开发板的默认支持、UKUI,GNOME等多个桌面环境的新增适配、容器及其工具的适配,另外,还默认新增JIT支持以及针对性优化。镜像下载链接https://mirror.iscas.ac.cn/openeuler

  6. yolov5创新 C3GN:引荐HorNet递归门控卷积GnConv重构目标检测颈部网络 - 2

    yolov5创新C3GN:引荐HorNet递归门控卷积GnConv重构目标检测颈部网络1、引荐HorNet递归门控卷积思想论文地址:https://arxiv.org/pdf/2207.14284.pdf递归门控卷积GnConv模块:主要思想:通过门控卷积和递归设计执行高阶空间交互,新的操作具有高度的灵活性和可定制性,将自注意力中的二阶交互扩​​展到任意阶,而不会引入大量额外的计算,并通过引入高阶交互来进一步增强模型容量,具有与自注意力相似的输入自适应空间混合功能。以GnConv模块构建GnBlock:遵循与Transformer相同的元架构来构建基本块GnBlock,包含空间混合层和前馈网络

  7. 《低代码PaaS驱动集团企业数字化创新白皮书》-低代码PaaS应对行业集团企业数字化应用的需求(数字原生) - 2

    低代码PaaS应对行业集团企业数字化应用的需求数字原生数字原生企业在过去十多年的时间内,持续对信息化进行投入和建设,有着较为深厚的数字化积淀,自身的数字化成熟度较高,拥有较多的技术人员以及较强的开放能力。由于其业务模式特点,尤其注重敏捷创新。随着数字化应用进入大数据、智能硬件、移动互联网、云计算等新兴技术崛起的时代,如何进一步集成数据、利用数据价值提升盈利能力和创新商业模式,已成为新时代下数字原生企业的重点任务,尤其面临着如下三个方面的痛点:数字化架构复杂:数字原生企业随着业务的发展,基本上围绕业务构建了数十套、上百套系统,这些系统间的整合和协同的复杂度越来越高,如何满足系统稳定的前提下,又快

  8. xml - 创新设置 : how to replace a string in XML file? - 2

    这个问题在这里已经有了答案:InnoSetup-Howtosaveanodeinaspecificline(1个回答)关闭8年前。以下(引号内)是我的包中的一个XML文件的内容。我想在安装过程中替换c:\path\myapp.exe的值(使用用户选择安装应用程序的真实路径。那可能吗?怎么办?

  9. 数智创新时代,有生态才有未来 - 2

    编辑| 阿冒   设计| 沐由桃李不言,下自成蹊。尽管不像很多科技公司那样言必称“生态”,但作为亚太本土最大的企业云服务与软件提供商的用友,其历经34年的成长历程,本身就是一部再生动不过的生态发展史。距今已有2000余年的西汉哲学著作《淮南子》中,就曾经一针见血地指出了生态的运用之妙:“积力之所举,则无不胜也;众智之所为,则无不成也。”在今年3月举行的2022用友生态大会上,用友全面升级生态理念,提出以“融智共创+聚力协同”,汇聚各方企业服务提供商,为客户全生命周期的数智化转型提供支撑。在2022全球商业创新大会举行之际,记者采访了用友网络副总裁、全球生态合作部总经理刘晟。“在公司最新的五大战

  10. 智能创新引导工具软件——项目总结报告 - 2

    文章目录一、项目背景1.项目理论基础——TRIZ理论2.国内外TRIZ理论发展状况3.开发目的4.项目特色二、项目概述1.主要功能2.基本流程3.运行环境三、项目实现1.项目架构2.开发方法3.项目分工4.模块结构5.关键技术搭建功能模块关系图及生成解决途径专利搜索引擎CDN加速压缩图片关键技术Mybatis-plusRedisJWT敏感词替换MarkDown转为纯文本6.项目部署后端部署前端部署7.项目测试8.平台对接单点登录解决方案导入与导出四、项目成果1.用户情况2.文档统计3.项目上线成果五、不足与改进1.项目不足2.改进方法一、项目背景1.项目理论基础——TRIZ理论TRIZ理论是阿

随机推荐