OK 那我们就开始吧那欢迎大家来到QBvert and Mantendor Talk演讲之前我先自我介绍一下我来自于I'm China然后我主要做的是云计算相关的一些工作关注于容器安全容器以及虚拟化的方向我叫做张浩灵然后这篇PPT是我和Red Hat Andrew Burden共同完成的QBvert Community Facilitator它在虚拟化和容器方向有着十年的技术写作经验如果大家遇到任何QBvert相关的问题或者如果是I'm上面一些虚拟化的问题都可以随时来找我或者是在社区里面提问今天我们主要讲的是QBvert 1.0版本那在今年的7月份QBvert 1.0发布了在我们继续这个问题之前我想先看看现场观众对于QBvert一个了解那有请使用过QBvert的朋友举一下手可以吗好的 谢谢那请没有用过但是知道QBvert是什么的朋友举一下手好 谢谢然后最后请只要听说过QBvert但是不太了解QBvert是什么的这些朋友举下手可以吗好的那今天的演讲前半部分我会先讲一下QBvert整个项目成长的一些故事然后在后半部分我会讲一下QBvert它的一些特性对虚拟化支持以及我们一些现有的使用场景所以我们在今年的7月份的时候发布了QBvert 1.0那在这个1.0发布之前我们已经发布了59个小版本这实际是一个非常漫长的过程那QBvert它是一个CNCF的副画项目它扩展了Kubernetes的API并且添加了一些Customer Resource Definitions这样子我们可以在Kubernetes集群上面真的去创建遷移和管理我们的虚拟机那我们现在先讲讲QBvert的成长力存那时间回到2015年那在那一年Kubernetes 1.0发布了然后谷歌和Ninux Foundation成立了CNCF也是在那一年我们第一届Qubicon大会举行了然后在2016年当时整个CNC的Ecosystem都非常年轻这时候呢一群来自于Red Hat的工程师提出了一个疑问我们能不能够把虚拟机放到容器里面然后通过Kubernetes进行管理那这个疑问最后就衍生成了我们QBvert这个项目那QBvert GitHub组织是在2016年4月份成立的那我们的第一个提交是在2016年8月份那这是我们第二个commit用非常简单的一段话讲了我们如何通过Kubernetes去创建虚拟机那这是我们第一个非常重要的commit在这个commit里面我们讲述了如何通过Kubernetes去创建以及销毁虚拟机的流程那这个文档虽然非常简单但它却成为了QBvert的一个基石从现在往回看的时候我们会讲通过Kubernetes去管理虚拟机其实是一个还挺不错的主意并且如果了解过QBvert会觉得QBvert里面很多实现是理所当然的就应该这么去做的但是想法在最初的时候是非常脆弱的那因为这些实现我们沿着这条方向去做到底能不能让QBvert的项目成功是没有人知道的而且现在看起来QBvert已经成了Kubernetes管理虚拟机的一种标准但是在当初是有非常多的一些项目以不同的方式去实现类似的功能而且我们尝试把虚拟机引入到容器以及Kubernetes这种环境中遇到了各种各样的困难然后甚至我们要创建一些新的机制去解决这种困难比如现在我们将虚拟机的磁盘放入了容器进行中这种想法看起来显而易见但是在当初这个想法却收到了非常多的一些反对的意见因为最初的Kubernetes原则之一就是临时性这和传统的这种虚拟化模型不太匹配因为我们虚拟化的过程中需要将大量的数据持久化那如何协调这种不同意就出现了很多争议那我们在早期开发过程中面临着这种虚拟化容器化以及适配到Kubernetes出现了这种不同意问题这就引发了我们下面的一个思考就遇到这种不同意问题的时候我们是应该以Kubernetes的方式去解决这种问题还是我们自己找一个我们自己的方式去解决那如果用自己的方式去解决是非常有诱惑力的因为它可以把很多问题变得简单但是最终我们还是选择了下面这个开发标准如果有些东西是用于Port就如果一个标准一个功能对于Port也是有用的我们就不应该只在虚拟机层面去实现它那举个例子来说那我们最开始讨论如何将虚拟机和外部网络连接那最快的方式就是在Kubernetes里面引入特定代码将我们内部虚拟机和主机的网卡进行瞧接但是我们最终没有选择这种方式而是选择一个更长的道路选择将它集成到Murters和CNI中并且一直改进它还有个例子就是CPU Hot Plug那这种CPU的热插拔对于虚拟化来说是非常重要的一个特性但是Kubernetes当时是没有任何的这种方式或者机制去支持这种CPU的热插拔的那我们也没有在虚拟机层面去找一个我们自己的解决方案而是选择和Kubernetes社区合作去尝试共同解决这个问题那这个解决过程可能长达数年但是最近Kubernetes已经有了一个Inplace PortVertical Scaling的Alpha版本那结合这个版本Kubernetes已经实现了CPU和Memory的热插拔那确定这个Kubernetes的开发原则对我们整个社区来说是非常重要的一步在2017年的时候我们发布了第一个版本0.0.2然后接下来我们就开始一个月一次的这种高频率更新这个更新持续了58个版本然后在2019年的时候Kubernetes将Red Hat将Kubernetes这个项目捐赠给了CNCF然后并且Kubernetes也成了CNCF的Sandbox Project在很早期的时候我们已经拥有了一些用户比如像Envadia和Kubernetes在2018年的时候就已经开始使用Kubernetes了那随着Kubernetes整个项目的成长我们的用户也在不断的增加更多的终端用户Vendor和项目集成时间到了2022年Kubernetes已经成长的比较相对成熟了它也变成了一个CNCF的复化项目那在同年年底我们调整了发布策略我们的发布策略从之前一个月一次的更新更变成了现在的和Kubernetes发布节奏相匹配也就一年三次的更新那这种发布节奏的调整其实在我们社区内部其实还是很大的变化的但是这是我们社区从走向成熟的我觉得很重要的一个标志因为之前一个月一次的发布使得我们的用户很难跟上我们这种社区的更新节奏然后并且我们每次发布的时候也没有非常多的充分的时间去对每个版本进行测试那调整成这种一年三次的发布之后我们的用户更容易跟上我们的社区发布节奏同时我们在每个版本release之前有更充分的时间去验证和测试我们每个版本的这种完整性那上面就是我们QBvert整个项目成长的一些故事接下来我想快速介绍一下QBvert的项目的构价以及我们通过它能能够实现什么样的场景那首先大家可以看到这张图这张图是讲了我们QBvert的POD和普通的POD的一些是有什么样的异图演示异是一致相同的QBvert把KVM和Cumul这种虚拟化成封装在了一个POD里面那这带来了两个好处第一个呢就是我们可以像调度Cubanetism别的资源一样的去调度虚拟机也就是用Cubanetism去调配我POD的一个schedule和它的启动过程第二个呢因为我们把整个虚拟化成全部封装在一个POD里面了这使得我们和CRI就容器运行时是完全隔离开来的我们可以运行在任何容器运行时的这种环境下Docker CRIO的这种环境下面那第二个呢也是因为我们是完整的放在是在这POD里面所以我们可以复用Cubanetism的这种存储架构就这样通过PVC把一个Volume放置到我POD里面再通过我的QBVert的一些组件把这个Deskmount到我的虚拟机内部同而实现虚拟机增添我Desk的这种方式并且这个整个存储也是通过Cubanetism进行管理的而不是我们单独出来的需要额外的去管理我们的这种虚拟化的存储然后最后呢我们是使用的POD的默认网络那同时我们可以通过Murters去为我们的虚拟机添加附加的一个额外的网络那使用POD因为我们的这个CubanetismPOD的网络和一般POD的网络是没有任何区别的那这个带来的好处就是我们可以和ServiceMesh以及Network Policy这种机制无缝的銜接那了解了上面的基础知识我们简单看一下我们如何通过Cubvert去创建一个虚拟机那通过这个这个创建过程大家也可以了解到那个Cubvert主要组建它的一些功能那首先我们要创建一个Virtual Machine Instance的一个自定义资源的配置文件那大家可以看到这个配置文件其实和普通的POD配置文件是没有特别大的区别的里面当然包含了一些我们自定义的字段那当我们发送这个VMI的定义文件给Cubanetism API Server的时候那API Server会去做一个验证验证我们这个配置文件是不是合规然后并且去尝试启动这么一个Instance然后这时候就接触到了我们第一个组建就是Virtual ControllerVirtual Controller是一个Cluster Level的一个组建那它去负责控制和管理整个集群上面虚拟机的生命周期以及虚拟机的状态那当Virtual Controller这个组建接收到这个VMI Instance的这个配置之后它会干什么呢它会先把这个配置文件翻译成我一个POD的标准配置文件的一个Object那这个翻译过程中我们当然要加上一些Qmule虚拟化的这一层的开销因为我们在VMIVirtual Machine Instance配置里面我们可能是讲的这个训计内部我们需要多少内存举个例子那我们转换成POD以后要加上这个Qmule还有一些别的组建的一些额外的内存的开销那转换成POD开销POD的一个Object之后它会把这个Object交付给我的Cubonettis这个集群让它去启动这么一个POD当这个POD启动起来以后我的Cube Water Controller会去观测到这个POD已经启动起来了这时候呢它会把这个虚拟机创建的这个东西和我们的QBVirt下一个组建我们可以看到这个Water Handler这个组建做一个交互那Water Handler是一个demo set它会在每一个node上面就Walker node上面会启动一个这个demo set它会负责当前demo set当前这个node上面它的虚拟机的启动以及我当前这个节点上它虚拟化的一些特性的统计同时如果我的虚拟机启动的过程中还需要额外的去配置一些CNI或者是配置一些存处它也会去帮助完成这个过程那当Water Controller把这个虚拟机创建的这个配置文件交给Water Handler之后Water Handler会和我刚刚Kubernetes启动的这个Port里面的Water Launcher组建做一个交流把这个启动虚拟机的这个请求发送给Water LauncherWater Launcher拿到这个虚拟机的配置文件它首先会去把这个配置文件转换成一个XML的格式的配置文件然后交由下面的LiberWert然后最后由LiberWert把整个虚拟机在我们Port里面启动起来对 当然LiberWert下后面会调用QMIL或者会 如果硬件虚拟化的话会使用KVM那么这个就是一个KubernetesKubiWert它启动虚拟机的一个简单流程那下面我会介绍一下KubiWert对于虚拟化的一些支持还有一些它的一些特性首先介绍的是KubiWert一些相关的项目第一个是Hyperconverged这个项目它是会把KubiWert以及一些KubiWert管理的一些operator共同部署起来实现一个功能更丰富的KubiWert的环境那它的这种部署的组件包含了我们下面要讲的的CDI还有包含了ScalePerformance的operator还有一些Network的一些插件那第二个项目是Containerized Data Importer那这个是一个很重要的组件因为它为我们KubiWert提供了导入导出以及克农虚拟机磁盘的一个功能以及资源然后再下面一个是Virt Manager它是一个独立的Web GUI方便我们用户去管理和监控我们整个KubiWert的Resource然后最下面这个呢Cluster API Provider KubiWert也可以简称为CAPK那这个项目呢它是可以通过Cluster API去控制我一个KubiWert集群让KubiWert启动起来虚拟机然后我们再在这个虚拟机型里面启动KubiWert集群并且这整个集群呢是都通过Cluster API进行去管理和控制的那这个好处就是我们可以快速的部署多个KubiWert集群并且对它进行统一的管理那了解了这个相关项目之后我们可以再看一下它对于虚拟化的一些支持那当然我们这下面列出了它的主要的一些虚拟化支持的future比如像动态迁移比如像我们虚拟机磁盘的一个snapshot包括我们一个磁盘的热插拔和重新调整大小同时我们可以给虚拟机添加第二层网络那大家也可以使用srlv去成为它的这个第二层网络那此外呢虚拟机的一些resource allocation也是支持的比如像我们CPU绑定针对NUMA的这种支持以及HUGE page的支持那当我们把这些resource allocation支持做完之后我们可以去在QubiWert上面运行一些实时的workload以及可以支持dppk那还有最后就是我们支持多样的去访问虚拟机的这种方式那包括我们通过ssh通过vnc还有通过我们的console去访问我们的虚拟机那这里还有一个没列的就是我们还添加一些debug的这些方式就包括我们整个集群找出一些它的内存使用啊之类的这种帮助大家去debug或者做profiling的这种工具那使用QubiWert它有什么样的好处呢或者我们把这种虚拟化的这种功能引入到QubiWert这种ecosystem里面以后有什么好处那第一个就是我们和servicemash就因为我们附用了就和pod使用了相同的network那我们可以和servicemash无缝衔接那么这带来了就是可以我们可以通过servicemash对虚拟机和虚拟机之间的这种网络通信进行非常精准的控制或者虚拟机和pod之间的通信非常精准的控制那第二个就是Qubinatis有非常强大的Ansible的一个资源户那我们可以使用这些资源户帮助我们去配置和创建客户虚拟机然后第三个呢我们可以添加一些Liviness和Redness包括EXEC的探针来去监控我们整体虚拟机的或者虚拟机内部服务的一些状态然后第四个就是我们可以把虚拟化的这种能力赋予给这种基于Qubinatis的一些CICDpipeline里面去比如像下面的argocd和kickton pipelines然后最后就是我们可以通过普罗米修司去监控整个集群的资源使用状况并且针对这种使用状况发出一些警告等等那下面这个是我们的一些使用场景那首先第一个自然就是我们对传统虚拟化的一些替换那么传统虚拟化那它的好处是什么呢我觉得最大好处就是节约成本为什么呢 因为如果我们一个公司同时管理一个continentalized workload以及我的virtualization workload如果没有用这个QubiVirt的话很可能你要去同时管理那样套的这种这种编排的工具比如像OpenStack 加上Cubinatis那对于我们的整体运为来说还有管理来说其实都是一个很大的一个额外的 不能说负担应该是额外的一个开销那如果我们用Cubinatis一个平台去同时管理continentalized的以及虚拟化的这种那么我们这种无论运为 还有这种开销都会少很多那第二个的话就是GPU Provision那我们NVIDIA很早就开始和我们这个项目有合作并且它也是一个主要的贡献者那它在我们在GPU的上面就如何将GPU分配给这个虚拟及用户上面 其实做了非常多的工作那NVIDIA我们做过一个通过GforceNow然后加上Cubvert给用户分配GPU并且在里面跑一些游戏之类的这种这种demo然后当时反应还是很不错的然后第三个呢 就是我们通过Cubvert可以快速地部署这种Cubinatis集群并且进行一个统一的管理也就是我们刚刚讲的那个CAPK的这个项目这种虚拟化能力赋予给我们这种Cubinatis相关的CICD Pipeline之后那我们其实整个CICD可以有很宽的想象力比如像我要去通过Windows去去创建一些编排一些一些Baner一些二进机的文件或者我要在不同的内核版本里面做一些测试把它给运行起来就比如像通过Cubvert把不同版本的虚拟机启动起来再把我们的这种要运行的尺利传输给虚拟机然后再把整套CICD给它完善起来下面介绍一下就是Cubvert 1.0的一些核心future那首先是computer的这个计算相关的这个核心的futures那第一个呢我们在1.0版本使用了long route去运行这个pod那这样子确保每个提高了我们整个集群运行的安全性同时我们也实现了memory over commit就是内存的超配然后我们还支持vsock去支持虚拟机和主机的通信然后我们添加了19化的VTPM device这样子Windows10是可以在我们Cubvert的这个环境里面启动起来的然后我们还添加了大量的一些实力类型和偏耗设置这样使得我们的整个虚拟化创建过程会非常很简单那最后还有呢我们引入了CPU hotplug的API然后并且对于confidential computing这种机密计算也有一些实验性的支持对于存储来说我们现在支持通过snapshot去创建虚拟机并且克农snapshot同时呢对于栽培来说我们在Valero这个项目里面Valero is Kubernetes去做栽培的一个项目做备份的一个项目我们主动维护了一个plugin那通过这个Valero加vm.export的API非常容易的实现整个QBvert cluster的备份和恢复那在scaling和performance上面我们我们已经增加了一个重相性能和可扩展性能的一个基准测试这样通过这种测试结果我们可以看到不同Kubernetes版本不同QBvert版本它的这种重相性能和可扩展性能的一些对比然后在网络方面我们引入了Network网卡的hotplug这个网卡的hotplug主要是针对我们虚拟机的第二个网卡Secondary Network它的默认和就破得同样使用的第一张默认网卡是不支持hotplug的然后最后release我们是在1.0版本发布了X86和M64的Matiac镜像以及这种不同架构的一些Banary同时在这个版本的时候我们也支持了Hyper的Cluster 也就是这种X86和M的异购集群的管理最后就讲一讲就是M对于QBvert项目的一些参与以及我们做的那些事情我们是在2020年5月的时候提交了第一个PR然后后续我们为社区提供了两个非常重要的PR第一个就是让QBvert在ARM平台上面能够运行同时我们写了一些整交叉编译的工具帮助QBvert去release它这种Matiac的镜像或者Banary并且我们把ARM64的这种单元测试和EQE测试集成到了QBvertCICD pipeline里面去然后也写了一个非常详尽的文档告诉我们的用户在ARM上面使用QBvert会有哪些特性有哪些和X86不一样的地方以及要注意的视想那下面有我们的两个链接最后还有一点时间是谈一谈我自己参加QBvert这个社区的一些感受就是首先我觉得QBvert的社区这一趴主要是吸引大家为QBvert社区去做一些贡献QBvert的社区是一个整体很包容并且也很友好的一个社区那我是2020年就开始为这个社区做一些贡献了那这个社区里面它提供了非常多的一些方式包括大家和我们社区的开发者做一些沟通或者提出一些自己的想法建议以及问题它包括了每周的一些meeting它每一个小组也会有自己的weekly或bi-weekly的meeting包括它还有两个select channel和一个mailing group提交一些自己的对这种代码的改进意见我自己感触比较深的是它那个每周的community meeting就我参加这个社区之后也不是之后就是这个社区的weekly meeting是非常固定的每周都会举行的而且每周的weekly meeting上面它会讨论一些比方这周发生的比较大的一些议题同时它提供了一个open floor让大家开放的讨论提起的一些问题然后并且每周maintainer它都会去检查这一周有没有新的一些pr或者issue没有得到急设的反馈或者说是有没有一些maintainer愿意去做review或者回答的这种工作同时它也会去看我们整个mail list里面有没有一些尚未被回复的一些邮件所以这种每周一次的meeting帮助我们整个QBvert快速快速的成长起来并且有很多的future很快的能在我们这个社区里面得以实现我想就是这种开放互助的氛围下才使得我们这QBvert项目一步一步成长成今天这个样子这就是我今天的演讲有问题吗我第一个问题因为你们讲的案例比较关心有没有一些实际的生产的案例把kbus 把这种status还能把训议记得一起统一管理有没有一些案例或者规模的一些就这个问题其实我们和很多企业有合作但是一般是企业内部一些集群用的比较多对,就比如像NVIDIA它内部在使用包括Panasonic他们内部管理也开始使用QBvert做一些内部集群主要去你化中我Cloud的管理至于你讲的Service我觉得可能这种QBvert和Service可能还不太不太一样,因为Service的话要求启动速度很快QBvert基于传统的这种标准虚拟化启动,它可能会速度上还是有一些差距如果你要用Service要用虚拟化复制给这种Service的话那可能需要尝试一些额外的项目,比如像Kata或者Givizer这种清亮级虚拟化的我有一个问题关于QBvert的网络我原本理解里面的话Port会有一个CNI的网卡插到一个Port上面然后再有一个QBvert里面它自己起了一个Bridge然后再连到了虚拟机里面它是怎么做到我有两个问题这种架构里面的话能不能跟RDMA技术联动,这是第一个问题这种架构里面的话Motos就是这种多网卡技术怎么跟它去联动我认为这好像就是它改变了原本的容器的网卡架构了对,我就这个问题网络方面的首先我要抱歉一下我不是做网络这一块的所以我可能也只有一个大致的解释如果你的疑问当然,如果你方便留下你的后面我可以去帮你联系一下专门做这一块的Mentennar让它去给你更详细解答但是我认为首先你说的RDMA我还不太熟悉它这个QBvert怎么去和这个匹配的但是网卡它在内部,就是Port的内部我怎么去创建Bridge实际我们QBvert是自己组建内去实现的比于你上层用户来说或直接用QBvert你实际是不用去关心这一套的你当用Multence去添加一个额望网络之后我们会自动去帮你去把这个第二个网卡连接到我虚拟机内部并且保持它的这个通信长通的对OK,我请讲个问题就是随着KBS社区包括可能的地线在可能2.0也提出了Sandbox API嘛包括现在它那个整个Sandbox作为可能的地的一个一等公民嘛这个对于QBvert会不会有一个冲击或者影响或者他们之间怎么去互补怎么去共存您能再扩展一下吗比方Sandbox 1.0您认为是有哪些冲击比如像就是我理解你的OK,那就是我们能不能借助Sandbox这样的接口来去实现你的VM的管理就是你的底层的那个WaterManager和那个WaterNodeHealth的组件他们之间和标准的可能的地和WaterHandler和Water Launcher对,WaterHandler和那个Water Launcher会不会受到可能的地的Sandbox API的一个影响我觉得不会因为如果你用Sandbox API你还是需要去找一套完整解决方式比如像你的磁盘怎么去解决网络怎么解决都可以支持通往都可以支持通往我可能对Sandbox API还不太熟悉我可以了解一下但我觉得至少如果你用Sandbox API也支持通往的话QBvert也可以给你提供很多的提示因为我们在虚拟化整个实践过程中还是遇到很多的问题我明白刚才那个什么热升级了之类的可能你对通做了很多功课但是我理解你最开始那片子上写的就是说你们的方向就是说一切就是往KBS方向去做如果KBS就能提供了这样的Sandbox API你们底层的Water Hander和Water Lancer是不是一个挑战至少是我们社区现在没有因为Sandbox API改变我们任何开发或者是后续的方向好的谢谢我这边问题就是现在比如AI送驾驶其实在车端的算力有越来越多其实我们也希望在云端去购建一个等比例的虚拟我不知道这块比如说更多的这种传感器易购的这个硬件那我觉得GPU是一种它会有更多的比如说这种车载的芯片它能否在云端接入这套价购那这块不知道社区有怎样的规划谢谢这个挺好的问题就是我只能说现在来说可能对这种易购模型没有做这种方面的探索我们还是希望先把这种传统的虚拟化支持做得更好一些因为我们可能和传统的包括OpenStack之类的还有一些差距我们首先是这个然后第二呢它出于安全考虑它内部的组建还是Grid Hat它官方release的一些这种编译出来的RPM包包括Cumul也好包括Libbert也好当然你也可以自己手动去修改自己创建一个Brunch去完成这件事情但对于社区来说我觉得这是一个很好的方向但暂时来说可能还没有支持但如果有兴趣的话可以往这方面去做一做那我们可以在社区里面提出对应的proposal然后我们看社区有什么反馈谢谢我们问一下就是Kubbert是跑在K8上的那他对K8的那个版本有没有什么限制比如说你现在升到了Kubbert 1.0之后那他会不会对一些K8的老版本就不支持了或者是怎么样子好的,是这样我们Kubbert他的最新版本会兼容Kubnetis的最近的三个版本比如说就最新的三个版本那往前兼容呢我们是不会去保证他的兼容性的但我们会有一个完整的list告诉你我们在哪个release的时候支持到Kubnetis的哪个版本对就是如果不出意外的话其实也是可以跑的这个只能说是我们不去维护了能不能跑会不会出什么问题的话我们就不能保证因为K8的版本相对还是相对比较新的比如说K8 1.23这些 1.23 1.24这些也不是特别旧的版本可能你们就不维护了是吧对,原因是这样因为Kubbert社区整体的那个开发者数量也还没有那么多有限,经历有限第二个我们现在release版本调整以后我们也是跟着Kubnetis的步伐去走的而且我们迭代的新的future其实也是很多的如果要保证这么多新的future迭代的同时我们要维护Kubnetis的版本需要付出很多精力所以我们尽量还是跟着新的Kubnetis去走等到成熟之后会不会延长我们的这种维护周期我们可能后面还会讨论我想再问第二个问题不好意思就是说把是不是把比如说其他的虚拟平台上比如说VSphereVMWare的一些虚拟机把它导出来然后可以你这个represent我不知道包不包含我说的case就把那些VMWare上的虚拟机导出来然后放到我们这个Kubbert上面去跑放到Port里去跑我没有做过但我觉得应该是可以的就核心是你导出来的这个镜像Libbert能不能运行起来如果Libbert这个层面是运行起来的话那我们通过我们下面的那个CDI这个项目你可以把它可以导入成一个镜像然后放到我的这个Kubbert集群里面去我们就可以运行起来就是理论上是支持的是吧我觉得理论上是支持的是常见的一个一个适配环境包括它的比如说这个虚拟机它可能有好几块磁盘这些都可以一起导出来导入是吧导出来之后好几个夜盘可能是对这个我可能得问一下专门去做这种迁移的这种负责方面的人去问一下我这块没有做过所以不是特别清楚好的谢谢但是没起一个VM相当于是有个PODPOD它这个VM会去Bridge接到POD上前面说到跟SociMesh会支持那么它有注入setcard就也是注入到POD里面去对是吧然后就是通过这POD来影响它的这个网络对吧是的是的然后那比如说像KBS比如说我能配置POD这个VM我可以也是一样的因为它最后是直连在POD的网卡上面去通过Bridge所以你只要POD拥有什么样的网络对于我去逆接来说它就会连到什么样的网络上去所以说现在我现有的比如CNR或者SociMesh它其实都是能够很好应该是都支持的你好就是这个里面CAPK里面这个是多个集群然后每个集群里面单纯的是一个虚极叫虚极容器集群还是说虚极和容器都可以存在的集群或者说这个集群里面每个集群的形态会是一个混合型的还是一个单纯的型的或者说这多个集群就是一个单纯型的一个虚极集群这个形态我这个项目我没有参与所以我但是它这个项目最初的目的就是让方便我们通过class.atui去基于Kubivert这种虚拟化创建多个Kubinacis集群这是它最初的目标但如果您对这个项目感兴趣要么您留下您的方式您的联系方式我可以帮你去问一下或者是怎么样子或者是您可以看一下这个项目它具体的实现好的还有一个问题就是刚才提到这个特性和OpenStack特性的话还是有差距的然后这差距现在有里程碑或者未来的规划不对我们其实更新速度是很快的我们一直在尝试弥补这些特性上的差距就像那个CPU HODL plug也是1.0百分之前出来我们才把它给enable起来的对就是这个有有那个公布的里程碑吗有的有的有的社区上面会有对应的链接会将我们一个阶段要做的事情都有的不是以前做的事情就是以后规划对对对的有的好谢谢你好那个咨询几个问题第一个现在就是Couplebot在国内现在那个有多少基本上有多少committer或者每天的在做这块事情国内的这个社区国内国内整体很少像对我看到那个提出一些医术的可能联通电信就这种运营我是联通的你好大力的在推这块问题这次过来我想聊几个事第一个就是刚才那个兄弟讲过这个问题就我们的这个里程碑如MAP什么时候基本上可以接近NOVA的这块的这些功能对不对因为在一些虚机的管理一些特性上还是比较远的这是一个问题对第二个问题就是未来应该现在应该我们每个pod里面是一个leave word就这块未来有没有这个计划比如取消掉我直接调用QML的这块的这个API来创建就是因为这样的话你少了一个leave word对吧因为如果一台机器上起个这个一二十台虚机的话它的开销还是有的对是吧是吧第一个问题第三个问题就是社区的规模对第一个社区的差距还是有一些的那这个社区肯定是有规划去逐渐弥补的但是你可能还是要具体分析因为总有一二三嘛对吧对那我也很希望就是能够积极地为社区反馈这些e-shoot包括方便的话留下您的那种联系方式对如果有任何问题我们也会和社区整体积极沟通然后还有第二个的问题是Map对那这个社区我们在community的专门有个页面会去讲我们大概接下来要enable那些future或者整体状态是什么对取消libervert这个问题这个问题其实是非常大的因为它牵扯到非常多的代码开发因为你把libervert取消以后你怎么在不同配置上把QMU运行起来或者你脱离libervert之后会遇到一些额外什么问题暂时没有这个计划把libervert给去掉对对当然也是一个很好的想法就是是不是能够把libervert给提掉让它的整体的这种性能或者这种负载变得更好一些您好我想问一下因为现在QMU是基于Streaming 9的C9元去构建的所以它实际上libervert的版本和QMU的版本是一个流逝发布的是的那这个就是在未来的热升级过程中它有什么兼容性的保证就说或者说QMU在1.0升级到1.1之后它可能那个我记得libervert好像在master已经升级上去了好像最近所以它这个之后它那个热升级上讯息的那个兼容性是有什么计划或者说机制去保证这个兼容性吗热升级这块我不太了解就是它有什么样的这种机制但从我自己开发的角度来说我觉得你的这种版本使用哪一个版本的QMU你其实是完全自己可以去写的因为它是配置在配置文件里面的你如果觉得热升级的时候你不想用新的这种QMU版本你完全可以去对你自己编译你如果一直用开源社区的那个景象那当然你要保证和它同步版本对吧这个这一块我确实不太清楚对 但是将来我也会把你的问题可以提交给那个Qubewart那个社区的您好 我有一个问题就是因为我对硬件不太了解所以我就想在我的理解中的那个arm64一般是用于那个在手机或者平板上就这种架构但是那个Qubewart它最初提出的它的场景它想解决的问题就是我们在企业中有一些遗留的工作负载它不太方便去上云容器化所以它就想就直接那个虚拟机去导入所以为什么会有这个Qubewart在arm上的这个支持对这也是我来这个会议最大的最大的就是我想表达的就是我们arm其实在云服务器这一块其实已经做出了非常多的一些无论开源项目也好还是我们这种底层优化也好都做了非常多的工作那现在也开始有很多的云厂商就现在主流的山南云厂商实际在云实力上面都是有arm的机器的就arm64机器的那也欢迎大家尝试着把一些负载去部署在我们这种arm平台上面那从开源社区的角度呢那Qubewart本身这个社区其实也是看到这个趋势了就是未来可能云厂商它会出现这种CPU底层架构的易购化可能会有arm也可能将来未来Risk 5也会进入这里面来那这种呢我们提前的对于这种多平台多底层CPU架构的支持那提前也是一种布局包括我们我也知道有一些确实有一些WalkerLoud已经在arm的这种服务系上面在运行起来并且结果也还是很不错的对你好就是我们平时介绍到了介绍到了很多客户他是比方说基于非藤或者昆彭的然后但是他们给我们提供的PoC环境的话基本上就是比方基于华为云或者是阿里云直接发放的是虚拟机的那么如果是它是差不多有架构的话我们那个只是签到虚拟化然后这个KBS加Covart是没问题的但如果是arm的架构的话感觉就是是铺不起来请问就是社区对这一块有没有什么解决方案对您很好问题我下午有长言讲就是专门讲这个问题的就是Covart on arm那现在简单讲一下就是确实现在市面上的这个armCPU还是不支持签到虚拟化的那我们现在在社区上面还是用一种这种签到容器化Docker in docker的这种方式去保证它的这种并发测试也好还有就是包括每个cubanitis集群可以去管理多个我们这个arm上面的这种cubanitis集群实现它这种e2e的测试并发或者并发开发但是如果你要讲到云云厂商里面它给你提供一般很少能给你提供Belmanto的这种机器那要在这上面去直接运行Cubvertarm64可能还是有一些瓶颈只有Belmanto现在可能才能支持对结束了吗好谢谢大家好然后还是做个广告我下午还有一个专门讲Cubvert on arm的会讲arm上面对Cubvert的支持那会有一个非常短的一个demo讲我们如何通过容器多克因多克的环境去启动一个我们的Cubvert开发环境如果感兴趣的话同学可以来听一下好谢谢大家