System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及容器卷热扩容系统、方法及介质。
技术介绍
1、随着当前云计算技术的发展,kubernetes及相关容器技术得到了广泛的使用,传统的应用容器引擎(docker)及runc(轻量级容器运行工具)容器由于跟宿主机共用一个内核,某些场景下存在一定的安全问题。为提高容器运行的安全及稳定性,基于轻量虚拟化的kata等安全容器应运而生。kata安全容器可以使用virtio-fs(一种在guest之间共享文件系统的方案)或者虚拟磁盘作为容器卷,以存储用户应用数据。
2、在kata安全容器运行过程中,当容器卷存储空间不足时,需要对容器卷进行扩容。现有的方式是在容器停止后,对容器卷对应的虚拟磁盘进行扩容,然后再将容器开启,但是此方法会造成用户容器应用中断,对容器运行的稳定性造成一定影响,而且还会提高运维的复杂度。
技术实现思路
1、有鉴于此,本专利技术提供了一种容器卷热扩容系统、方法及介质,以解决现有技术中由于容器扩容需要在容器应用中断情况下进行所导致的稳定性受到影响,运维复杂度高等的问题。
2、第一方面,本专利技术提供了一种容器卷热扩容系统,容器卷热扩容系统包括辅助容器、容器存储接口控制器插件、容器存储接口节点插件,以及kata虚拟机;
3、辅助容器,用于在监听到与持久卷声明的存储空间对应的更新事件时,向容器存储接口控制器插件发送第一扩容指令,更新事件用以指示更新持久卷声明的存储空间的字段值;
4、容器存储接口控制器插件,
5、容器存储接口节点插件,用于在监听到预设标识字段的属性信息更新为预设字段值时,调用节点卷扩容接口向kata虚拟机发送通知消息,以及容器卷扩容请求,其中,通知消息用以指示容器卷存储空间更新,容器卷扩容请求中包括第一字段的字段值;
6、kata虚拟机,用于监听文件系统当前所处状态;当确定文件系统处于挂载状态时,根据容器卷扩容请求对文件系统进行扩容。
7、本专利技术提供的一种容器卷热扩容的方法,具有如下优点:
8、在容器卷热扩容系统中部署辅助容器、容器存储接口控制器插件、容器存储接口节点插件,以及kata虚拟机。辅助容器用于监听与持久卷声明的存储空间对应的更新事件,当确定持久卷声明的存储空间发生变化时,则向容器存储接口控制器插件发送第一扩容指令。容器存储接口控制器插件在接收到第一扩容指令后,则调用控制器卷扩容接口向云平台发送第二扩容指令,用以指示云平台完成对虚拟磁盘文件的扩容操作。在完成对虚拟磁盘文件的扩容后,还需要更新第一字段的字段值为目前已经更新后的持久卷声明的存储空间的字段值,并且设置预设标识字段的属性信息为预设字段值,用以指示接下来由容器存储接口节点插件接手后续的操作。容器存储接口节点插件则会监听预设标识字段的属性信息是否更新。并在确定预设标识字段的属性信息更新为预设字段值后,调用节点卷扩容接口向kata虚拟机发送通知消息,以及容器卷扩容请求。最终,kata虚拟机在监听到文件系统处于挂载状态时,完成对文件系统的扩容。
9、在上述系统中,分别在容器存储接口控制器插件和容器存储接口节点插件设置扩容接口建立信息交互“桥梁”,用以传输存储空间的待扩容的字段值,以及扩容指令等,以实现利用容器存储接口控制器插件完成对容器卷的虚拟磁盘文件的扩容操作,然后在容器存储接口节点插件中通知kata虚拟机其所使用的虚拟磁盘大小已发生变化,由容器存储接口节点插件向kata虚拟机发出容器卷扩容请求,并在kata虚拟机上完成文件系统在线扩容操作。该操作过程不需要停止容器运行,提升了容器运行的稳定性。
10、在一种可选的实施方式中,辅助容器,具体用于通过应用程序接口服务器组件监听用以指示持久卷声明的存储空间的第二字段的字段值是否发生变化;
11、当确定第二字段的字段值发生变化时,确定存在与持久卷声明的存储空间对应的更新事件。
12、具体的,通过应用程序接口服务器组件可以实时监听第二字段的字段值是否发生变化,并在确定第二字段值发生变化时,及时向容器存储接口控制器插件发送第一扩容指令,用以直接或间接指示容器存储接口控制器插件、容器存储接口节点插件等尽快完成容器卷的热扩容操作,尽可能的避免业务处理的延误,以及尽可能的避免对容器的运行造成影响。
13、在一种可选的实施方式中,容器存储接口控制器插件还用于,通过控制器卷扩容接口接收云平台反馈的响应信息;
14、根据响应信息,确定云平台是否已完成对虚拟磁盘文件的扩容操作。
15、具体的,通过该方式可以确定云平台是否已经完成对虚拟磁盘文件的扩容操作,并在确定云平台已经完成对虚拟磁盘文件的扩容操作后,及时更新第一字段的字段值,以及更新预设标识字段的属性信息为预设字段值。
16、在一种可选的实施方式中,容器存储接口控制器插件,具体用于设置预设标识字段的属性信息为true。
17、具体的,只有将预设标识字段的属性信息设置为true,后续容器存储接口节点插件在查询到预设标识字段的属性信息为true后,才能获知容器存储接口控制器已经完成对虚拟磁盘文件的扩容操作,而后才可以执行后续操作。
18、在一种可选的实施方式中,容器存储接口节点插件,具体用于利用kubelet进程访问应用程序接口服务器组件,查询第一字段的字段值是否发生变化,以及确定预设标识字段的属性信息是否为预设字段值,其中,当确定第一字段的字段值与自身存储的字段值不同时,确定第一字段的字段值发生变化。
19、在一种可选的实施方式中,通知消息为block_resize消息。
20、具体的,由于kata容器运行在qemu轻量虚拟机中,容器卷也是挂载到qemu虚拟机上,也即是kata虚拟机上,所以容器存储接口节点插件需要通过调用节点卷扩容接口向kata虚拟机发送block_resize消息,来通知kata虚拟机容器卷的存储空间需要进行扩容。
21、在一种可选的实施方式中,容器卷扩容请求为grpc请求。
22、在一种可选的实施方式中,kata虚拟机具体用于,调用kata-agent组件监听文件系统的当前所处状态,并在确定文件系统处于挂载状态时,调用文件系统扩容命令对挂载状态下的文件系统进行扩容。
23、具体的,通过调用kata-agent组件监听文件系统的当前所处状态,并在确定文件系统处于挂载状态时,调用文件系统扩容命令对挂载状态下的文件系统进行扩容,整个过程无需容器断开或重启等操作。整个过程都是在容器运行过程中执行,提升了容器运行的稳定性。
24、第二方面,本专利技术提供了一种容器卷热扩容方法,该方法包括:<本文档来自技高网...
【技术保护点】
1.一种容器卷热扩容系统,其特征在于,所述容器卷热扩容系统包括辅助容器、容器存储接口控制器插件、容器存储接口节点插件,以及kata虚拟机;
2.根据权利要求1所述的系统,其特征在于,所述辅助容器,具体用于通过应用程序接口-服务器组件监听用以指示持久卷声明的存储空间的第二字段的字段值是否发生变化;
3.根据权利要求1所述的系统,其特征在于,所述容器存储接口控制器插件还用于,通过所述控制器卷扩容接口接收所述云平台反馈的响应信息;
4.根据权利要求1-3任一项所述的系统,其特征在于,所述容器存储接口控制器插件,具体用于设置所述预设标识字段的属性信息为true。
5.根据权利要求1-3任一项所述的系统,其特征在于,所述容器存储接口节点插件,具体用于利用kubelet进程访问应用程序接口服务器组件,查询所述第一字段的字段值是否发生变化,以及确定所述预设标识字段的属性信息是否为所述预设字段值,其中,当确定所述第一字段的字段值与自身存储的字段值不同时,确定所述第一字段的字段值发生变化。
6.根据权利要求1-3任一项所述的系统,其特征在
7.根据权利要求1-3任一项所述的系统,其特征在于,所述容器卷扩容请求为grpc请求。
8.根据权利要求1-3任一项所述的系统,其特征在于,所述kata虚拟机具体用于,调用kata-agent组件监听文件系统的当前所处状态,并在确定所述文件系统处于挂载状态时,调用文件系统扩容命令对挂载状态下的所述文件系统进行扩容。
9.一种容器卷热扩容的方法,其特征在于,所述方法包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求9所述的容器卷热扩容的方法。
...【技术特征摘要】
1.一种容器卷热扩容系统,其特征在于,所述容器卷热扩容系统包括辅助容器、容器存储接口控制器插件、容器存储接口节点插件,以及kata虚拟机;
2.根据权利要求1所述的系统,其特征在于,所述辅助容器,具体用于通过应用程序接口-服务器组件监听用以指示持久卷声明的存储空间的第二字段的字段值是否发生变化;
3.根据权利要求1所述的系统,其特征在于,所述容器存储接口控制器插件还用于,通过所述控制器卷扩容接口接收所述云平台反馈的响应信息;
4.根据权利要求1-3任一项所述的系统,其特征在于,所述容器存储接口控制器插件,具体用于设置所述预设标识字段的属性信息为true。
5.根据权利要求1-3任一项所述的系统,其特征在于,所述容器存储接口节点插件,具体用于利用kubelet进程访问应用程序接口服务器组件,查询所述第一字段的字段值是否发生变化,以及确定所述预设标识字段...
【专利技术属性】
技术研发人员:张会健,王永超,李宪状,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。