System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种K8s网关服务Watch资源优化方法及系统技术方案_技高网

一种K8s网关服务Watch资源优化方法及系统技术方案

技术编号:40971150 阅读:9 留言:0更新日期:2024-04-18 21:20
本发明专利技术提供一种K8s网关服务Watch资源优化方法及系统、装置,所述方法包括:初始化Kubernetes集群,上报Kube‑Apiserver实例的缓存资源的最小资源版本号;根据最小资源版本号,由网关服务组件KubeGateway选择后端Apiserver实例。本发明专利技术通过网关服务组件KubeGateway对Kube‑Apiserver缓存的最小资源版本号做缓存,在代理Watch监听请求阶段作为决策依据将Watch资源优化,减少网关服务对后端实例的重试请求压力,提升了Apiserver的性能;降低了Apiserver服务的压力;最小版本号缓存方案可作为负载均衡算法的决策依据,提供更优的决策能力。

【技术实现步骤摘要】

本专利技术涉及kubernetes容器编排及网关代理,具体而言,涉及一种k8s网关服务watch资源优化方法及系统。


技术介绍

1、在大规模kubernetes(k8s)集群建设的过程中,kubegateway网关服务的定位是为其代理的海量集群提供稳定的流量治理服务。

2、目前在实际生产实践中,kubegateway网关服务在代理请求选择后端实例时,采用基于服务发现的方式,将请求以轮询的方式选择后端kube-apiserver实例,并将请求代理到选择的kube-apiserver实例上,参见图1所示。

3、然而,由于多个kube-apiserver副本的本地缓存中维护的资源版本(即resourceversion)不一致,各kube-apiserver中缓存的最小资源版本是不同的,因此导致客户端在发起watch请求时,如果请求被代理到不匹配的实例上,就会触发too old版本号错误。比如被网关服务代理到缓存中已经不存在该资源版本的实例上,就会频繁出现tooold版本错误。


技术实现思路

1、鉴于此,本专利技术的目的在于设计一种服务器固件套餐化管理方法,网关服务在选择rs时以多个实例缓存的最小资源版本为依据,从而避免出现版本错误,同时缓解kube-apiserver实例对重试请求的压力,进一步提升apiserver性能。

2、本专利技术提供一种k8s网关服务watch资源优化方法,包括以下步骤:

3、s1、初始化kubernetes集群,上报kube-apiserver实例的缓存资源的最小资源版本号;

4、k8s(kubernetes,容器编排平台):kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。

5、kube-apiserver(kubernetes api服务):暴露kubernetes各类资源的api接口,负责用户、控制器等的api请求响应。

6、s2、根据所述kube-apiserver实例的缓存资源的最小资源版本号,由网关服务组件kubegateway选择后端apiserver实例。

7、kubegateway(kubernetes网关服务):kubegateway是一个专为kube-apiserver的http2流量设计定制的七层负载均衡代理,用于海量集群代理和流量治理服务。

8、进一步地,所述s1步骤的初始化kubernetes集群,上报kube-apiserver实例的缓存资源的最小资源版本号的方法包括以下步骤:

9、s11、配置kubernetes代理,由kube-apiserver组件向网关服务组件kubegateway发起注册请求;

10、s12、由所述网关服务组件kubegateway纳管kubernetes集群的多个kube-apiserver实例;

11、s13、由kube-apiserver组件向网关服务组件kubegateway周期性地上报kube-apiserver实例的缓存资源的最小资源版本号;

12、s14、由网关服务组件kubegateway将该kube-apiserver实例的实例名及其上报的最小资源版本号作为二元组,实现本地缓存。

13、进一步地,所述s2步骤的由网关服务组件kubegateway选择后端apiserver实例的方法包括以下步骤:

14、s21、由客户端或kubelet组件向网关服务组件kubegateway发起watch监听请求;

15、watch(kubernetes中提供资源实时性的一种接口):kubernetes client-go客户端工具中的一种接口实现,主要用于集群中各种控制器(包括自定义控制器)缓存资源的目的,通常与list(全量拉取接口)同时使用,提供各种资源的准确性,实时性。

16、s22、由网关服务组件kubegatewa找出小于当前所述watch监听请求中的资源版本号的kube-apiserver实例;

17、s23、由网关服务组件kubegateway将所述watch监听请求代理转发到后端apiserver实例中;

18、s24、由所述后端apiserver实例响应所述watch监听请求。

19、进一步地,所述s22步骤的由网关服务组件kubegatewa找出小于当前所述watch监听请求中的资源版本号的kube-apiserver实例的方法为:

20、网关服务组件kubegatewa遍历所述本地缓存,找到小于当前所述watch监听请求中的资源版本号的kube-apiserver实例。

21、本专利技术还提供k8s网关服务watch资源系统,执行如上述所述的k8s网关服务watch资源优化方法,包括:

22、系统初始化模块:用于初始化kubernetes集群,上报kube-apiserver实例的缓存资源的最小资源版本号;

23、选择后端实例模块:用于根据所述kube-apiserver实例的缓存资源的最小资源版本号,由网关服务组件kubegateway选择后端apiserver实例。

24、进一步地,所述系统初始化模块包括:

25、发起注册请求单元:用于配置kubernetes代理,由kube-apiserver组件向网关服务组件kubegateway发起注册请求;

26、网关服务纳管实例单元:用于通过所述网关服务组件kubegateway纳管kubernetes集群的多个kube-apiserver实例;

27、上报版本号单元:用于通过kube-apiserver组件向网关服务组件kubegateway周期性地上报kube-apiserver实例的缓存资源的最小资源版本号;

28、本地缓存单元:用于通过网关服务组件kubegateway将该kube-apiserver实例的实例名及其上报的最小资源版本号作为二元组,实现本地缓存。

29、进一步地,所述选择后端实例模块包括:

30、发起watch监听请求单元:用于通过客户端或kubelet组件向网关服务组件kubegateway发起watch监听请求;

31、搜索资源版本号单元:用于通过网关服务组件kubegateway遍历所述本地缓存,找到小于当前所述watch监听请求中的资源版本号的kube-apiserver实例;

32、转发watch监听请求单元:用于通过网关服务组件kubegateway将所述watch监听请求代理转发到后端apiserver实例中;

33、后端实例响应watch监听请求单元:用于通过所述后端apiserver实例响应所述watch监听请求。

34、本专利技术还提供一种k8s网关服务watch资源本文档来自技高网...

【技术保护点】

1.一种K8s网关服务Watch资源优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的K8s网关服务Watch资源优化方法,其特征在于,所述S1步骤的初始化Kubernetes集群,上报Kube-Apiserver实例的缓存资源的最小资源版本号的方法包括以下步骤:

3.根据权利要求2所述的K8s网关服务Watch资源优化方法,其特征在于,所述S2步骤的由网关服务组件KubeGateway选择后端Apiserver实例的方法包括以下步骤:

4.根据权利要求3所述的K8s网关服务Watch资源方法,其特征在于,所述S22步骤的由网关服务组件KubeGatewa找出小于当前所述Watch监听请求中的资源版本号的Kube-Apiserver实例的方法为:

5.K8s网关服务Watch资源系统,执行如权利要求1-4任一项所述的K8s网关服务Watch资源优化方法,其特征在于,包括:

6.根据权利要求5所述的K8s网关服务Watch资源优化系统,其特征在于,所述系统初始化模块包括:

7.根据权利要求5所述的K8s网关服务Watch资源优化系统,其特征在于,所述选择后端实例模块包括:

8.一种K8s网关服务Watch资源优化装置,其特征在于,安装有如根据权利要求5-7任一项所述的K8s网关服务Watch资源优化系统。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-4任一项所述的K8s网关服务Watch资源优化方法的步骤。

10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4任一项所述的K8s网关服务Watch资源优化方法的步骤。

...

【技术特征摘要】

1.一种k8s网关服务watch资源优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的k8s网关服务watch资源优化方法,其特征在于,所述s1步骤的初始化kubernetes集群,上报kube-apiserver实例的缓存资源的最小资源版本号的方法包括以下步骤:

3.根据权利要求2所述的k8s网关服务watch资源优化方法,其特征在于,所述s2步骤的由网关服务组件kubegateway选择后端apiserver实例的方法包括以下步骤:

4.根据权利要求3所述的k8s网关服务watch资源方法,其特征在于,所述s22步骤的由网关服务组件kubegatewa找出小于当前所述watch监听请求中的资源版本号的kube-apiserver实例的方法为:

5.k8s网关服务watch资源系统,执行如权利要求1-4任一项所述的k8s网关服务watc...

【专利技术属性】
技术研发人员:李志武徐兴文李召徐赛毛燕茹
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1