System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于容器、云计算领域,尤其涉及一种对多容器镜像精准更新的系统。
技术介绍
1、当前,云计算技术正在蓬勃发展,其中k8s容器编排系统作为主要选择之一,备受关注。多家云服务提供商都将其视为重要方案。在k8s框架中,statefulset和deployment是常用的控制器,用于有效管理容器化工作负载。一般情况下,statefulset用于部署具有状态特性的应用,而deployment适用于无状态的应用。在利用两种控制器部署应用时,当存在以下需求时,经常需要在一个容器内部署多个容器:
2、1.共享网络命名空间:
3、共享网络命名空间使容器能够直接相互通信,共享相同的网络接口和ip地址,这是一种特定场景下非常有用的需求。例如当结合容器技术和nfv技术实现在云计算系统中承载流量转发的网元中,经常需要根据业务需要对网络配置进行监控,例如网元的ip、网元的路由,并且经常需要根据业务场景对监控需求进行变更,因此一般把监控的逻辑整理单独作为一个容器。这种情况下,一般把监控容器和网元容器部署在同一个容器内,在共享网络空间的条件下,实现对网络容器的有效监控。
4、2.共享存储卷及日志容器的复用:
5、在容器化环境中,多个容器可以通过共享存储卷来访问相同的数据。这对于在容器之间共享配置、日志或数据非常有用。多个容器可以访问相同的数据,确保了数据的一致性。共享存储卷减少了多次复制相同的数据的需要,从而减小了存储资源的开销。结合容器共享存储卷这个特点,经常将日志采集处理的逻辑模块化,单独作为一个容器
6、3.共享ipc命名空间:
7、在某些特定的需求下,例如当开发一个高性能的数据处理应用,该应用需要快速处理大量数据,进行复杂的计算。共享ipc命名(如消息队列、共享内存、信号量等被隔离开)可以直接访问相同的数据,而无需复制数据或通过网络进行通信。这大大提高了数据处理的速度,因为它减少了数据传输的开销。不同的容器负责不同的数据处理逻辑,最典型的就是一个容器负责生产数据,一个容器负责消费数据,彼此解耦。
8、在上述情景中,要求在同一容器内部署两个或多个容器,这些容器必须能够独立运行。在此背景下,需要提供一种优化方法来确保容器集合中的某一个容器在进行更新和发布时,不会对其他容器的正常运行产生负面影响。
技术实现思路
1、为解决上述问题,本专利技术提出了一种基于k8s的多容器镜像精准更新的系统,当使用statefulset控制器和deployment控制器部署应用时,可以对其管理的容器内的任一容器进行镜像更新,而不影响其他应用容器的正常工作。
2、为实现上述目的,本专利技术提供了如下方案:一种对多容器镜像精准更新的系统,包括:
3、用户操作模块、数据库、控制器、监听模块以及容器镜像更新模块;
4、其中,所述用户操作模块用于对外提供接口,供用户调用;还用于与所述数据库进行交互;
5、所述数据库用于存储多个镜像版本供用户选择;
6、所述控制器用于当用户选择任一镜像版本后对容器镜像版本进行更新或者回滚;
7、所述监听模块用于监听控制器内部的annotations字段更新;
8、所述容器镜像更新模块用于根据所述annotations字段的变化来获取容器镜像信息,根据所述镜像信息进行对应容器镜像版本的更新。
9、优选地,所述控制器包括statefulset控制器和deployment控制器;
10、所述statefulset控制器和deployment控制器用于将用户选择的镜像版本写入statefulset控制器和deployment控制器的annotations字段。
11、优选地,所述控制器包括用户界面单元、版本可视化单元、操作简化单元;
12、所述用户界面单元用于通过提供一个易于理解和操作的用户界面,使用户查看和管理容器镜像版本;
13、所述版本可视化单元用于使用户直观地获取容器镜像版本情况,所述容器镜像版本包括当前正在运行的版本和可用的更新版本;
14、所述操作简化单元用于简化用户操作,使用户通过用户界面轻松完成任务;所述任务至少包括升级容器镜像、扩展应用程序或回滚到先前的版本。
15、优选地,所述用户界面为以图形化形式呈现的控制器单元,用于用户直观地查看和操作容器镜像,以及执行与容器镜像版本相关的任务。
16、优选地,所述任务至少包括流量转发和采集网元健康度;
17、所述流量转发基于网元容器负责实现;
18、所述采集网元健康度基于监控项采集容器负责实现,并可根据容器镜像版本直观的对监控项采集容器镜像进项升级或回滚。
19、优选地,所述监听模块用于实现k8s控制器内部监听statefulset控制器和deployment控制器的annotations字段中的更新,当出现更新时,触发k8s的reconcileloop机制执行,进入后续动作。
20、优选地,所述k8s的reconcileloop机制为基于kubernetes控制器监视资源的创建/更新/删除事件,并触发reconcile函数作为响应,基于整个调整过程完成调谐循环。
21、优选地,所述reconcile函数使用k8s的命名空间和实例名称定位资源并调用资源方法,使实例的实际状态与k8s定义的资源状态保持一致,并基于声明式及幂等性的特性简化资源的更新流程。
22、优选地,所述annotations字段用于存储关于对象的元数据或附加信息;
23、所述annotations字段的用途至少包括标签和描述、安全策略、应用配置;
24、所述标签和描述用于为资源提供标签和描述信息,使资源更容易理解和识别;
25、所述安全策略用于存储有关资源的安全策略信息;
26、所述应用配置用于指定资源的配置信息。
27、优选地,所述标签和描述信息包括容器的用途、责任人和环境信息。
28、与现有技术相比,本专利技术具有如下优点和技术效果:
29、本专利技术提供了一种用户友好的界面,降低了操作kubernetes环境的技术门槛。这有助于减少错误操作和提高操作效率,从而增强了用户体验,促进了技术的普及和应用。
30、本专利技术通过监听statefulset控制器和deployment控制器中的annotations字段,实现了对容器镜像的精确更新。且通过本专利技术的statefulset控制器和deployment控制器部署应用时,可以对其管理的容器内的任一容器进行镜像更新,而不影响其他应用容器的正常工作。
31、本专利技术允许针对特定容器本文档来自技高网...
【技术保护点】
1.一种对多容器镜像精准更新的系统,其特征在于,包括:
2.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
3.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
4.根据权利要求3所述的对多容器镜像精准更新的系统,其特征在于,
5.根据权利要求4所述的对多容器镜像精准更新的系统,其特征在于,
6.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
7.根据权利要求6所述的对多容器镜像精准更新的系统,其特征在于,
8.根据权利要求7所述的对多容器镜像精准更新的系统,其特征在于,
9.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
10.根据权利要求9所述的对多容器镜像精准更新的系统,其特征在于,
【技术特征摘要】
1.一种对多容器镜像精准更新的系统,其特征在于,包括:
2.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
3.根据权利要求1所述的对多容器镜像精准更新的系统,其特征在于,
4.根据权利要求3所述的对多容器镜像精准更新的系统,其特征在于,
5.根据权利要求4所述的对多容器镜像精准更新的系统,其特征在于,
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。