一种超大规模kubernetes集群下事件分发优化的方法及设备与流程

文档序号:37637772发布日期:2024-04-18 17:56阅读:8来源:国知局
一种超大规模kubernetes集群下事件分发优化的方法及设备与流程

本发明涉及云计算的,尤其涉及一种超大规模kubernetes集群下事件分发优化的方法及设备。


背景技术:

1、现有技术中,在采用etcd(小规模kubernetes集群经常使用的kv数据库)作为数据库的架构中,仅支持5000节点;而在3w+节点的超大规模集群建设中,采用了tikv(开源的国产kv数据库)作为底层存储,而apiserver并没有支持tikv,所有采用了开源的kubebrain(开源的tikv的数据适配层,支持etcd的api协议,并将其转换为tikv的api调用,使的kubernetes的apiserver组件开源直接从调用etcd改成调用kubebrain)作为我们的数据adapter层;

2、当前kubebrain组件的事件分发策略目前是dispatcher会将所有事件下发给所有的watcher(kube-apiserver),然后每个watcher启动一个goroutine字符串匹配过滤掉不是自己的事件,效率极低,时间复杂度高。


技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、鉴于上述现有技术中存在的问题,提出了本发明。

3、因此,本发明目的是提供一种超大规模kubernetes集群下事件分发优化的方法及设备,其精准高效的event事件匹配步骤流程以及推送流程减少了大量计算能力。

4、为解决上述技术问题,本发明提供如下技术方案:

5、一种超大规模kubernetes集群下事件分发优化的方法,该方法包括以下步骤:

6、步骤一:在事件分发的时候将只分发给关心这个事件的watcher;

7、步骤二:通过apiserver在查看资源时,将在对应的watcherkey下创建对应的channel;

8、步骤三:通过dispatcher将事件的key解析后匹配是否存在watchermap里面,如果存在,则append到该eventkey对应的eventsmap里;

9、步骤四:最后通过watchermap组件单元和eventsmap组件单元实现“从将所有事情推送给所有watcher”到“将事件按key分类后推送给关注这个key的watcher”。

10、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述watcher为一个哈希表,其中包含了该watcher接收事件的消息读取通道和事件版本。

11、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述watchermap组件单元是一个多阶哈希表。

12、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述eventsmap组件单元为一个哈希表,当产生的所有事件从eventdispatcher出来后,将事件的key进行拆分解析。

13、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述拆分解析的方法为:

14、将/registry/services/specs/xxxx事件解析为key1:/registry/services/和key2:/registry/services/specs/。

15、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述key2在watchermap中的watcherkey存在,则该事件追加到eventsmap中,最后将eventsmap中的key为/registry/services/specs/对应的所有事件推送到watchkey为/registry/services/specs/的所有watcher,当然若key2在watchermap中的watcherkey不存在则丢失。

16、作为本发明所述一种超大规模kubernetes集群下事件分发优化的方法的一种优选方案,其中:所述key1与key2的判断逻辑相同。

17、一种超大规模kubernetes集群下事件分发优化设备,该设备应用于上述中的超大规模kubernetes集群下事件分发优化的方法,包括:事件分发单元,用于将事件只分发给关心这个事件的watcher;

18、channel创建单元,用于通过apiserver在查看资源时,将在对应的watcherkey下创建对应的channel;

19、解析匹配单元,通过dispatcher将事件的key解析后匹配是否存在watchermap里面,如果存在,则append到该eventkey对应的eventsmap里;

20、以及watchermap单元和eventsmap组件,用于实现“从将所有事情推送给所有watcher”到“将事件按key分类后推送给关注这个key的watcher”。

21、作为本发明所述一种超大规模kubernetes集群下事件分发优化设备的一种优选方案,其中::所述watchermap组件单元是一个多阶哈希表;所述eventsmap组件单元为一个哈希表,当产生的所有事件从event dispatcher出来后,将事件的key进行拆分解析。

22、一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述超大规模kubernetes集群下事件分发优化的方法的步骤。

23、本发明的有益效果:本发明通过watchermap和eventsmap的数据模型,让event推送的事件复杂度大幅降低,并且提高了大规模容器底座的稳定性;精准高效的event事件匹配步骤流程以及推送流程减少了大量计算能力。



技术特征:

1.一种超大规模kubernetes集群下事件分发优化的方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述watcher为一个哈希表,其中包含了该watcher接收事件的消息读取通道和事件版本。

3.根据权利要求1所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述watchermap组件单元是一个多阶哈希表。

4.根据权利要求1所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述eventsmap组件单元为一个哈希表,当产生的所有事件从event dispatcher出来后,将事件的key进行拆分解析。

5.根据权利要求4所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述拆分解析的方法为:将/registry/services/specs/xxxx事件解析为key1:/registry/services/和key2:/registry/services/specs/。

6.根据权利要求5所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述key2在watchermap中的watcherkey存在,则该事件追加到eventsmap中,最后将eventsmap中的key为/registry/services/specs/对应的所有事件推送到watchkey为/registry/services/specs/的所有watcher,当然若key2在watchermap中的watcherkey不存在则丢失。

7.根据权利要求6所述的一种超大规模kubernetes集群下事件分发优化的方法,其特征在于:所述key1与key2的判断逻辑相同。

8.一种超大规模kubernetes集群下事件分发优化设备,该设备应用于权利要求1-7任一项所述超大规模kubernetes集群下事件分发优化的方法,其特征在于:包括:事件分发单元,用于将事件只分发给关心这个事件的watcher;

9.根据权利要求8所述的一种超大规模kubernetes集群下事件分发优化的设备,其特征在于:所述watchermap组件单元是一个多阶哈希表;所述eventsmap组件单元为一个哈希表,当产生的所有事件从event dispatcher出来后,将事件的key进行拆分解析。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述超大规模kubernetes集群下事件分发优化的方法的步骤。


技术总结
本发明公开了一种超大规模kubernetes集群下事件分发优化的方法及设备,涉及云计算技术领域,该设备包括:事件分发单元,用于将事件只分发给关心这个事件的watcher;channel创建单元,用于通过apiserver在查看资源时,将在对应的watcherKey下创建对应的channel;解析匹配单元,通过Dispatcher将事件的key解析后匹配是否存在watcherMap里面,如果存在,则append到该eventKey对应的EventsMap里;以及WatcherMap单元和EventsMap组件。本发明通过watcherMap和eventsMap的数据模型,让event推送的事件复杂度大幅降低,并且提高了大规模容器底座的稳定性;精准高效的event事件匹配步骤流程以及推送流程减少了大量计算能力。

技术研发人员:李召,徐兴文,毛燕茹,徐赛,李志武,张润江
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1