一种云教育平台应用原地更新方法及系统技术方案

技术编号:36906875 阅读:17 留言:0更新日期:2023-03-18 09:25
本发明专利技术提供了教育平台运维技术领域的一种云教育平台应用原地更新方法及系统,方法包括如下步骤:步骤S10、在云教育平台中创建一个新容器,基于所述新容器对挂载的镜像进行原地更换;步骤S20、确定所述镜像的挂载目录在云教育平台对应主机上的挂载点;步骤S30、在所述新容器中创建与挂载点相同的块设备;步骤S40、在主机上将所述块设备挂载到新容器的临时目录;步骤S50、将所述镜像的挂载目录挂载到新容器的指定路径,完成云教育平台应用的原地更新。本发明专利技术的优点在于:极大的提升了云教育平台应用更新的速度以及稳定性。用更新的速度以及稳定性。用更新的速度以及稳定性。

【技术实现步骤摘要】
一种云教育平台应用原地更新方法及系统


[0001]本专利技术涉及教育平台运维
,特别指一种云教育平台应用原地更新方法及系统。

技术介绍

[0002]目前,云教育平台的应用的发布过程为:上传新的应用镜像到镜像库

>卸载原有应用(销毁POD实例、服务路由等)

>创建新的POD(应用实例)

>根据资源配额等限制调度POD到合适节点

>拉取新的应用镜像

>启动POD

>重建服务路由。
[0003]应用发布过程中,原有应用的卸载、新POD的调度、重建服务路由都需要云教育平台耗费大量的计算资源,比如卸载是否干净彻底、调度是否均衡、服务路由创建是否成功,都需要消耗大量的计算时间,造成应用发布过程拖沓冗长,且容易出错;另外应用发布或POD启动之后,如果发现应用的某些卷未挂载,或者挂载错了目录,需要卸载整个应用进行重新配置之后再次发布,这样会造成云教育平台的业务中断,影响用户使用。
[0004]因此,如何提供一种云教育平台应用原地更新方法及系统,实现提升云教育平台应用更新的速度以及稳定性,成为一个亟待解决的技术问题。

技术实现思路

[0005]本专利技术要解决的技术问题,在于提供一种云教育平台应用原地更新方法及系统,实现提升云教育平台应用更新的速度以及稳定性。
[0006]第一方面,本专利技术提供了一种云教育平台应用原地更新方法,包括如下步骤:
[0007]步骤S10、在云教育平台中创建一个新容器,基于所述新容器对挂载的镜像进行原地更换;
[0008]步骤S20、确定所述镜像的挂载目录在云教育平台对应主机上的挂载点;
[0009]步骤S30、在所述新容器中创建与挂载点相同的块设备;
[0010]步骤S40、在主机上将所述块设备挂载到新容器的临时目录;
[0011]步骤S50、将所述镜像的挂载目录挂载到新容器的指定路径,完成云教育平台应用的原地更新。
[0012]进一步地,所述步骤S10具体为:
[0013]记录云教育平台中待更新POD的pod.status中的第一image字段值,修改待更新POD的spec.conta i ners[x]中的第二image字段值,通过kube l et自动检测旧容器的哈希值变化后,杀死所述旧容器;
[0014]创建一个新容器,基于所述第一image字段值是否发生改变来判断所述新容器是否已经创建完成,启动创建完成的所述新容器,基于所述新容器拉取镜像原地更换原有镜像。
[0015]进一步地,所述步骤S30具体为:
[0016]启动并进入所述新容器,在所述新容器中实时创建一与挂载点相同的块设备。
[0017]进一步地,所述步骤S40具体为:
[0018]在所述主机上利用nsenter将所述块设备实时挂载到新容器的临时目录。
[0019]进一步地,所述步骤S50具体为:
[0020]在所述主机上利用nsenter将镜像的挂载目录挂载到新容器的指定路径,并删除所述临时目录,完成云教育平台应用的原地更新。
[0021]第二方面,本专利技术提供了一种云教育平台应用原地更新系统,包括如下模块:
[0022]镜像更换模块,用于在云教育平台中创建一个新容器,基于所述新容器对挂载的镜像进行原地更换;
[0023]挂载点定位模块,用于确定所述镜像的挂载目录在云教育平台对应主机上的挂载点;
[0024]块设备创建模块,用于在所述新容器中创建与挂载点相同的块设备;
[0025]块设备挂载模块,用于在主机上将所述块设备挂载到新容器的临时目录;
[0026]目录动态挂载模块,用于将所述镜像的挂载目录挂载到新容器的指定路径,完成云教育平台应用的原地更新。
[0027]进一步地,所述镜像更换模块具体用于:
[0028]记录云教育平台中待更新POD的pod.status中的第一image字段值,修改待更新POD的spec.conta i ners[x]中的第二image字段值,通过kube l et自动检测旧容器的哈希值变化后,杀死所述旧容器;
[0029]创建一个新容器,基于所述第一image字段值是否发生改变来判断所述新容器是否已经创建完成,启动创建完成的所述新容器,基于所述新容器拉取镜像原地更换原有镜像。
[0030]进一步地,所述块设备创建模块具体用于:
[0031]启动并进入所述新容器,在所述新容器中实时创建一与挂载点相同的块设备。
[0032]进一步地,所述块设备挂载模块具体用于:
[0033]在所述主机上利用nsenter将所述块设备实时挂载到新容器的临时目录。
[0034]进一步地,所述目录动态挂载模块具体用于:
[0035]在所述主机上利用nsenter将镜像的挂载目录挂载到新容器的指定路径,并删除所述临时目录,完成云教育平台应用的原地更新。
[0036]本专利技术的优点在于:
[0037]1、通过在云教育平台中创建一个新容器,基于新容器对挂载的镜像进行原地更换,确定镜像的挂载目录在主机上的挂载点,在新容器中创建与挂载点相同的块设备,并在主机上将块设备挂载到新容器的临时目录,最后将镜像的挂载目录挂载到新容器的指定路径,并删除临时目录,即实现镜像原地更换和目录动态挂载,POD无需重启,取消了应用卸载和POD调度的过程,且本专利技术的目录动态挂载无需事先配置挂载卷,可在POD/容器运行期间随时随地挂载/卸载卷,减少了应用配置,提供了更多的灵活性,最终极大的提升了云教育平台应用更新的速度以及稳定性。
[0038]2、在云教育平台中,原先预置了大量的不同的教学环境,如大数据、AI等等,每种教学环境使用的镜像和挂载的目录都不相同,但通常都具备相同的网络结构,基于本专利技术进行教学环境的部署和切换,老师就可以在课前(或下课期间)利用极短暂的时间(秒级)完
成教学环境的批量切换,没有教学环境的销毁和重新发布过程,节省了大量的环境准备和回收时间,为教学工作带来了很大的方便。
附图说明
[0039]下面参照附图结合实施例对本专利技术作进一步的说明。
[0040]图1是本专利技术一种云教育平台应用原地更新方法的流程图。
[0041]图2是本专利技术一种云教育平台应用原地更新系统的结构示意图。
[0042]图3是本专利技术应用更新的示意图。
具体实施方式
[0043]本申请实施例中的技术方案,总体思路如下:基于创建的新容器对挂载的镜像进行原地更换,确定镜像的挂载目录在主机上的挂载点,在新容器中创建与挂载点相同的块设备,并在主机上将块设备挂载到新容器中的临时目录,最后将镜像的挂载目录挂载到新容器的第二路径,即实现镜像原地更换和目录动态挂载,以提升云教育平台应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云教育平台应用原地更新方法,其特征在于:包括如下步骤:步骤S10、在云教育平台中创建一个新容器,基于所述新容器对挂载的镜像进行原地更换;步骤S20、确定所述镜像的挂载目录在云教育平台对应主机上的挂载点;步骤S30、在所述新容器中创建与挂载点相同的块设备;步骤S40、在主机上将所述块设备挂载到新容器的临时目录;步骤S50、将所述镜像的挂载目录挂载到新容器的指定路径,完成云教育平台应用的原地更新。2.如权利要求1所述的一种云教育平台应用原地更新方法,其特征在于:所述步骤S10具体为:记录云教育平台中待更新POD的pod.status中的第一image字段值,修改待更新POD的spec.containers[x]中的第二image字段值,通过kubelet自动检测旧容器的哈希值变化后,杀死所述旧容器;创建一个新容器,基于所述第一image字段值是否发生改变来判断所述新容器是否已经创建完成,启动创建完成的所述新容器,基于所述新容器拉取镜像原地更换原有镜像。3.如权利要求1所述的一种云教育平台应用原地更新方法,其特征在于:所述步骤S30具体为:启动并进入所述新容器,在所述新容器中实时创建一与挂载点相同的块设备。4.如权利要求1所述的一种云教育平台应用原地更新方法,其特征在于:所述步骤S40具体为:在所述主机上利用nsenter将所述块设备实时挂载到新容器的临时目录。5.如权利要求1所述的一种云教育平台应用原地更新方法,其特征在于:所述步骤S50具体为:在所述主机上利用nsenter将镜像的挂载目录挂载到新容器的指定路径,并删除所述临时目录,完成云教育平台应用的原地更新。6.一种云教育平台应用原地更新系统,其特征在于...

【专利技术属性】
技术研发人员:方进
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1